我有一个多维数组,我想在使用函数后为每个数组创建新的变量。我真的不知道如何使用这种数组的foreach。到目前为止,这是我的代码:
$main_array = array
(
[first_array] => array
(
['first_array1'] => product1
['first_arrayN'] => productN
)
[nth_array] => Array
(
[nth_array1] => date1
[nth_arrayN] => dateN
)
)
function getresult($something){
## some code
};
foreach ($main_array as ["{$X_array}"]["{$key}"] => $value) {
$result["{$X_array}"]["{$key}"] = getresult($value);
echo $result["{$X_array}"]["{$key}"];
};
任何帮助将不胜感激!
答案 0 :(得分:2)
foreach ($main_array as &$inner_array) {
foreach ($inner_array as &$value) {
$value = getresult($value);
echo $value;
}
}
unset($inner_array, $value);
注意&
,它使变量成为引用,并使修改反映在原始数组中。
注意:建议使用unset
,因为在循环之后对最后一个值的引用将保持不变,如果您重复使用变量,可能会导致意外行为。
答案 1 :(得分:0)
foreach($main_array AS $key=>$array){
foreach($array AS $newKey=>$val){
$array[$newKey] = getResult($val);
}
$main_array[$key] = $array;
}