在 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中文网其他相关文章!