1

多次元配列があり、関数を適用した後、配列ごとに新しい変数を作成したいと思います。この種の配列で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}"];
    };

どんな助けでもいただければ幸いです!

4

2 に答える 2

3
foreach ($main_array as &$inner_array) {
    foreach ($inner_array as &$value) {
        $value = getresult($value);
        echo $value;
    }
}

unset($inner_array, $value);

に注意してください&。これにより、変数が参照になり、変更が元の配列に反映されます。

注:unset最後の値への参照はループ後も残り、変数を再利用すると予期しない動作が発生する可能性があるため、をお勧めします。

于 2012-09-14T15:45:27.110 に答える
0
foreach($main_array AS $key=>$array){
    foreach($array AS $newKey=>$val){
        $array[$newKey] = getResult($val);
    }
   $main_array[$key] = $array;
}
于 2012-09-14T15:49:07.760 に答える