2009-04-26 11 views
0

を取得:PHP配列ヘルプ。私はそうのような配列を持って正しいコンテンツ

Array 
(
    [level] => Array 
     (
      [0] => Array 
       (
        [lvlName] => name 
        [lvlEnt] => ent 
       ) 

     ) 

    [title] => Array 
     (
      [0] => Array 
       (
        [title] => a title 
        [titleDesc] => desc here 
       ) 

     ) 

    [navBar] => Products 
    [pageContent] => About 
) 

することは、誰かがどのようにpageContentを得るために私に教えていただけますか?

私が使用しているコードですが、未定義のインデックスがあります。私はどこに間違っているのか分かりません。

foreach($bigArr as $key=>$val) 
{ 
    if($key['pageContent'] != null) 
    { 
    foreach($val as $fkey=>$fval) 
    { 
     echo $fkey['pageContent']; 
    } 
    } 
} 

ループは私を与える:

PHP Notice: Undefined index: pageContent 
PHP Warning: Invalid argument supplied for foreach() 

は、誰かがこれで私の手をお願いできますか? ありがとう

編集: 無効な引数は私に難解なものです。

答えて

2

$bigArr['pageContent']で値にアクセスできます。

+0

私はちょうどそれを理解しました。私はちょうど配列が設定された方法を見ていたときに私はクリアすることができましたそれを見てください。ありがとう! –

2

最初にforeachを呼び出すと、繰り返しあたり2つのデータ(キーと値)が与えられます。キーは文字列ではなく、あなたがその配列、$key'pageContent'$val

「約」含んでいるでしょうが含まれますため、最後の反復でだから、ライン上で3.

を、それを使用しようとしているものである配列(ありますいずれの場合においても

は、あなたがやっている何のためのforeachの使用が不要なようです。あなたが直接array_key_exists()を使用して「pageContent」キーが配列に存在するかどうかをチェックし、まっすぐ値を引くことができます。

if(array_key_exists('pageContent', $bigArr) && $bigArr['pageContent'] != null) 
{ 
    echo $bigArr['pageContent']; 
} 
+0

こんにちはスティーブン、例と助けをありがとう。私は本当に私の関数リストを拡張する必要があり、array_key_existsは持っているのが良いです。もう一度ありがとう! トム –