2009-05-13 17 views
0

ルーチン(私が変更できない)が3つのネストされた配列または2つのネストされた配列のいずれかを返すという問題があります。キーの値は決して同じではありませんが、「通知:未定義インデックス:」エラーを避けるために、ネストされた配列を3レベル深くすることができるようにネストを正規化したいと思います。または、可能であれば、配列の深さの数を数えるルーチンを用意して、それに応じてコード化することができます。配列の値の問題

答えて

3

isset()を使用して、特定のレベルが配列に存在するかどうかを判断できます。そうでない場合は、追加します。

0

まあ、この回答は本当にあなたがやっていることに依存するつもりです。ネストされた配列が存在するかどうかを確認するだけではどうですか?

if (isset($val[3][2])) { 
    .... 
} 
1
function get_depth($arr) { 
    foreach ($arr as $arr2) { 
    if (is_array($arr2)) { 
     return 1+get_depth($arr2); 
    } 
    break; 
    } 
    return 1; 
}