首页 >后端开发 >php教程 >如何在 Foreach 循环中正确修改 PHP 数组值?

如何在 Foreach 循环中正确修改 PHP 数组值?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-15 04:59:32756浏览

How Can I Correctly Modify PHP Array Values Within a Foreach Loop?

在 Foreach 循环中更改 PHP 数组值(重复修复)

在多维数组中,使用 foreach 循环遍历每个元素可以呈现尝试修改原始数组时的复杂性。

考虑以下内容示例:

$fields = [
    "names" => [
        "type" => "text",
        "class" => "name",
        "name" => "name",
        "text_before" => "name",
        "value" => "",
        "required" => true,
    ]
];

现在,假设您有一个函数来检查是否填写了所需的输入:

function checkForm($fields) {
    foreach ($fields as $field) {
        if ($field['required'] && strlen($_POST[$field['name']]) <= 0) {
            $fields[$field]['value'] = "Some error"; // Here's the issue
        }
    }
    return $fields;
}

有问题的行是 $fields[$field]['value' ] =“一些错误”;。要修改原始数组,需要访问当前元素的键而不是值,如下所示:

foreach ($fields as $key => $field) {
    if ($field['required'] && strlen($_POST[$field['name']]) <= 0) {
        $fields[$key]['value'] = "Some error";
    }
}

注意 $fields[$key]['v​​alue 中 $key 的使用'] 引用外循环中当前元素的键。这可确保原始数组按预期修改。

以上是如何在 Foreach 循环中正确修改 PHP 数组值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn