2012-02-10 4 views
0

foreachを使用して特定のサブ配列のみをPHPでループしようとしています。例の配列:ループ内の特定の連想配列をPHPで

$testData = array( 
    $test1=array( 
     'testname'=>'Test This', 
     'testaction'=>'create user', 
     $testData = array(
      'item'=>'value', 
      'foo'=>'bar', 
      'xyz'=>'value' 
     ), 
     $anotherArray = array() 
    ), 
    $test2=array( 
     'testname'=>'Test That', 
     'testaction'=>'get user', 
     $testData = array(
      'item'=>'value', 
      'foo'=>'bar', 
      'xyz'=>'value' 
     ), 
     $anotherArray = array() 
    ) 
); 

そして今、私は、各テストを通過し、名前とアクションに基づいて、いくつかのロジックを設定するつもりですが、その後のデータにいくつかのテストを行う必要があります。 $ test1の$ testDataだけを取得し、$ test1の$ anotherArrayデータを取得する方法はわかりません。私は次がありますが動作しません:

foreach($testData as $test => $section){ 
    foreach($section['testData'] as $field => $value){ 
     \\code 
    } 
} 

何か助けていただきありがとうございます!ありがとう!

+0

'$ testData1'が適切に構築配列ではありません。あなたはエラーを受け取ったはずです。 Laverdureの答えを使って、 '$ testData ['test1'] ['testData']'を使ってデータにアクセスすることができます。 – Josh

+0

あなたは '$ testData1'で何を参照していますか@Josh – jheep

+0

申し訳ありませんが、それはタイプミスでした。私は '$ testData'を意味しました。 – Josh

答えて

1

代わりにこれを試してみてください:

$testData = array( 
'test1'=>array( 
    'testname'=>'Test This', 
    'testaction'=>'create user', 
    'testData' => array(
     'item'=>'value', 
     'foo'=>'bar', 
     'xyz'=>'value' 
    ), 
    'anotherArray' => array() 
), 
'test2'=>array( 
    'testname'=>'Test That', 
    'testaction'=>'get user', 
    'testData' => array(
     'item'=>'value', 
     'foo'=>'bar', 
     'xyz'=>'value' 
    ), 
    'anotherArray' => array() 
) 
); 
+0

ありがとう!それは今働いているようだ。 – jheep