Обход многомерного массива - PullRequest
2 голосов
/ 02 апреля 2012

Я взаимодействую с API Magento и после звонка:

$result = $soap->call( $session_id, 'catalog_product.list' );

Я получаю массив, полный массивов с информацией внутри них, я знаю это, потому что после выполнения print_f на нем я получаю следующий результат:

Array( [0] => Array( [product_id] => 2 [sku] => 401HCS [name] => Paul Penders Hydrating Control Serum (20g) [set] => 4 [type] => simple [category_ids] => 

Array ( [0] => 4 [1] => 15 [2] => 43 ) )

[1] => Array ( [product_id] => 3 [sku] => 400ICT [name] => Paul Penders Intensive Clarifying Therapy (ICT) [set] => 4 [type] => simple [category_ids]

Array ( [0] => 4 [1] => 11 [2] => 43 ) ) 

[2] => Array ( [product_id] => 4 [sku] => 402CFE [name] => Paul Penders Herbal Citrus Fruit Exfoliant (60ml) [set] => 4 [type] => simple [category_ids] => 

Это не отступ, очевидно, я сделал это для легкого чтения, поэтому мой вопрос: как мне пройти обход какого-то цикла, чтобы перейти в каждый массив и получить [product_id] и другие элементы? Заранее спасибо!

1 Ответ

5 голосов
/ 02 апреля 2012

Он помечен как java, но это явно php.Вы можете пройти это так:

foreach ($result as $id => $data) {
   foreach ($data as $key => $value) {
      switch ($key) {
         case 'product_id':
            // do things
            break;
         case 'sku':
            // do things
            break;
         // (...)
...