我在foreach循环中使用了多维数组,但是我没有得到正确的结果。
数组$mainarray = array(
array('field_name' => 'xx',
'email_label' => 'xxxx',
'validation_type' => 'xxxxx',
'validation_msg' => 'xxxxxx'),
array('field_name' => 'xx',
'email_label' => 'xxxx',
'validation_type' => 'xxxxx',
'validation_msg' => 'xxxxxx'),
// more ....
}
foreach循环foreach($mainarray as $fieldarray){
foreach($fieldarray as $key => $value){
$body .= $value['email_label'].' - '. $value['field_name'];
}
}
我需要键的值称为email_label和field_name,但我没有得到正确的结果返回
由于您的代码附加到$body
访问$value
的索引,因此您的原始代码有效地编写为在三层数组上工作。
如果你的数组是结构化的,你不需要内部的foreach
循环。
foreach($mainarray as $fieldarray) {
$body .= $fieldarray['email_label'].' - '. $fieldarray['field_name'];
}
你只需要一个循环:
foreach($mainarray as $fieldarray){
$body .= $fieldarray['email_label'].' - '. $fieldarray['field_name'];
}
尝试使用
foreach($mainarray as $fieldarray){
$body .= $fieldarray['email_label'].' - '. $fieldarray['field_name'];
}