Цикл через конкретный ассоциативный массив в PHP - PullRequest
0 голосов
/ 11 февраля 2012

Я пытаюсь перебрать только определенный суб-массив в PHP с foreach. Пример массива:

$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's testData, а не данные $ test1's $ anotherArray. У меня есть следующее, но оно не работает:

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

Любая помощь приветствуется! Спасибо!

1 Ответ

1 голос
/ 11 февраля 2012

Попробуйте вместо этого:

$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()
 )
);
...