0

私は次のコードを持っています

foreach($arrayData as $_key_l1 => $_data_l1)
{
    if(is_array($_data_l1))
    {

    }
    else
    {
        switch($_data_l1)
        {
            case '':
                $arrayData[$_key_l1] = null;
                break;
        }
    }
}

がループに渡されたとき$arrayDataに、配列内のいずれかの要素自体が配列である場合、上記のコードを使用して、それを にコピーし、変数の を# がレベルである場所にif置き換えます。私はオンです、私も別のものを追加します_l1_l#[$_key_l#]

現時点では、3 レベルより深くなるとは思っていませんが、深さのレベルごとにコードを追加することなく、配列を通過できるようにしたいと考えています。私がやろうとしていることを行う方法ですが、より動的に

注: これswitch ... caseは不完全です。これまでのところ、空白の文字列を null に変換するだけです

4

2 に答える 2

3

再帰関数呼び出しを使用できます。

例:

function step_array(&$arr) {
    foreach ($arr as $key => $val) {
        if (is_array($val)) {
            step_array($val);
        } else {
            // deal with the value
        }
    }
}
于 2013-10-16T06:04:49.937 に答える