-2
在PHP中:如何從數組中刪除/刪除密鑰?PHP:如何從數組中刪除/刪除密鑰
在我的PHP腳本中,我處理輸入表單的值。如果某個值不符合某個條件,則創建一個數組來存儲該值。稍後在腳本中,如果值滿足第二個條件,那麼我想從數組中除去鍵和值。我想刪除鍵的原因除了它保存的值之外,是因爲如果數組中有任何/另一個鍵,那麼我會將該數組傳遞給一個函數,該函數將處理該數組中的每個鍵和值。
我試過unset()
這對我不起作用,因爲它只是取消了密鑰的值,而不是密鑰本身。
我想創建另一個數組,只包含不符合第二個條件的值,但我不想這樣做,如果我可以刪除數組中的特定鍵。
這裏是我的腳本的一個片段:
foreach($_POST as $field => $value)
{
if($field == "HiddenConditionsEditProcess")
{
if(is_numeric($value))
{
$GoodData[$field] = $value;
}
}
elseif(
($field == "NameSanskrit")
||
($field == "NameWestern"))
{
if(!(preg_match("[[a-zA-z +'-]+]",$value)))
{
$ErrorArray[] = $field;
$GoodData[$field] = strip_tags(trim($value));
}
else
{
$GoodData[$field] = mysqli_real_escape_string($mysqli, strip_tags(trim($value)));
}
}
}
if(
(isset($ErrorArray['NameSanskrit']))
&&
(!(isset($ErrorArray['NameWestern']))))
{
unset($ErrorArray['NameSanskrit']);
}
DisplayError($GoodData, $ErrorArray, "ConditionsEdit.php");
更多具體的例子。 – fico7489
我想你錯了。 unset()破壞數組元素,這意味着沒有鍵或值。 – xReprisal
@ArekGorecki。你是對的,我誤解了unset()的行爲,因此濫用了它。問題解決了 – Arya