我对多维数组很陌生,这让我很困扰。
我的数组如下:
$fields = array( "names" => array( "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"; } } return $fields; }
现在我的问题是这条线
$fields[$field]['value'] = "Some error";
我想更改原始数组的内容,因为我要返回它,但是如何在我的 foreach 循环中获取当前数组的名称(本例中的名称)?
在 PHP 中,通过引用传递 ( &)是……有争议的。我建议不要使用它,除非您知道为什么需要它并测试结果。
&
我建议执行以下操作:
foreach ($fields as $key => $field) { if ($field['required'] && strlen($_POST[$field['name']]) <= 0) { $fields[$key]['value'] = "Some error"; } }
因此,基本上$field在您需要值以及$fields[$key]需要更改数据时使用。
$field
$fields[$key]