在PHP 中使用foreach 迭代時保留原始數組值
在PHP 中使用多維數組時,修改原始數組可能具有挑戰性數組,同時使用foreach 循環迭代它。這個問題深入研究了這個問題,其目標是更改嵌套數組中的值鍵。
在給定的範例中,使用 $fields[$field]['value'] 修改原始陣列不會如預期般運作。出現此問題的原因是 PHP 的 foreach 迴圈透過數組(而不是物件)的參考傳遞值。這表示對變數 $field 進行更改不會影響原始數組。
要解決此問題,建議的方法是在循環期間使用陣列鍵。答案中提供的更新程式碼示範了這一點:
foreach ($fields as $key => $field) { if ($field['required'] && strlen($_POST[$field['name']]) <= 0) { $fields[$key]['value'] = "Some error"; } }
在此程式碼中, $key 表示目前陣列元素的鍵。透過使用 $fields[$key],我們存取原始數組並修改正確的值。這確保了循環內所做的變更反映在 checkForm 函數傳回的原始數組中。
以上是在 PHP 中使用 foreach 迴圈時如何修改原始數組值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!