2016-10-26 2 views
-1

Я преобразовываю XML-файл в ассоциативный массив, чтобы вытащить данные, проблема в том, что я должен сделать 10 циклов, зависит от числа массивов, чтобы получить данные.получить конкретные данные ключа из многомерного массива

Есть ли лучший способ получить данные столбца без создания множества циклов? потому что я хочу назначить их переменным.

Массив Я пытаюсь получить данные из

Array 
(
    [catalog] => Array 
    (
    [comp] => Array 
    (
     [0] => Array 
     (
     [look] => Array 
     (
      [shp] => Array 
      (
      [wok] => Array 
      (
       [group] => Array 
       (
       [customer] => Array 
       (
        [author] => jack 
        [title] => Midnight Rain1 
        [genre] => Fantasy 
        [price] => 5.95 
        [publish_date] => 2000-12-16 
        [description] => A former architect battles corporate zombies. 
       ) 
       [customer2] => Array 
       (
        [author] => lemass 
        [title] => Midnight Rain1 
        [genre] => Fantasy 
        [price] => 5.95 
        [publish_date] => 2000-12-16 
        [description] => A former architect battles corporate zombies. 
       ) 
      ) 
      ) 
     ) 
     ) 
    ) 
     [1] => Array 
     (
     [look] => Array 
     (
      [shp] => Array 
      (
      [wok] => Array 
      (
       [group] => Array 
       (
       [customer] => Array 
       (
        [author] => jon 
        [title] => Midnight Rain1 
        [genre] => Fantasy 
        [price] => 5.95 
        [publish_date] => 2000-12-16 
        [description] => A former architect battles corporate zombies. 
       ) 
       [customer2] => Array 
       (
        [author] => kirito 
        [title] => Midnight Rain1 
        [genre] => Fantasy 
        [price] => 5.95 
        [publish_date] => 2000-12-16 
        [description] => A former architect battles corporate zombies. 
       ) 
      ) 
      ) 
     ) 
     ) 
    ) 
    ) 
) 
) 

Я пытаюсь получить данные, как это.

У меня есть 2 массивы customer и customer1

Я хочу, чтобы получить данные, как этот

customer => author

Выход

jack 
jon 

Потому что они находятся в customer массиве

Возможно ли это?

+0

отсутствующих первых 2-й уровней – nogad

+0

На самом деле, когда вы цикл (Еогеасп), вы ** находитесь на индексе 'Shp2' ** :) 'Еогеаспа ($ обр как $ индекс => $ компа) {echo $ index, '=>', var_dump ($ comp); } ', и вы увидите –

ответ

1
$comps = $arr['Shp']['test']; 
foreach ($comps as $comp) { 
if (is_array($comp)) 
echo $comp['Shp2'] ['customer'] ['address'] ['ad1']; } 
or use this echo $comp['test'] ['Shp2'] ['customer'] ['address'] ['ad1']; 
+0

Спасибо. он работает сейчас ^^ – jack

+0

@jack Упоминание не :-) –

+0

такая же ошибка появилась снова, вы можете мне помочь! Я скорректировал ответ! – jack

Смежные вопросы