foreach和多维数组

时间:2012-09-14 15:42:21

标签: php

我有一个多维数组,我想在使用函数后为每个数组创建新的变量。我真的不知道如何使用这种数组的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}"];
    };

任何帮助将不胜感激!

2 个答案:

答案 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;
}