2017-02-02 5 views
1

У меня есть индексный массив, который содержит вложенный ассоциативный массив и вложенный индексированный массив:Как разобрать вложенный ассоциативный массив в PHP

$myArray = array ( 
    0 => array (
     'name' => 'Paul', 
     'age' => '23', 
     'hobbies' => array ( 
      0 => 'basketball', 
     ), 
     'pets' => 'dog', 
    ), 
); 

Как я могу разобрать все эти переменные в?

EDIT: Я довольно новичок в StackOverflow. Я хотел бы удалить этот вопрос, но не могу. Пожалуйста, не обращайте внимания. Я думаю, проблема заключается в том, что этот массив является одной длинной строкой, которую мне нужно разделить на массив, либо через «explode», либо «preg_split».

+1

Вы не должны использовать массив каждый раз, когда вам нужно какое-либо его значение. – jeroen

+0

У меня проблема с этим. Например, 'echo $ myArray [0] ['name'];' не выводит то, что я ожидаю. – user3452136

+0

Что он выводит? Когда я попробовал, он выдал «Пол». И @jeroen прав, вы просто загромождаете пространство переменных, если начинаете пытаться преобразовать массив в переменные. – GordonM

ответ

1

Вы только можете получить доступ из массива

Написать свой массив как этот

$myArray = [ 
    0 => [ 
     'name' => 'Paul', 
     'age' => '23', 
     'hobbies' => [ 
       0 => 'basketball', 
      ], 
     'pets' => 'dog' 
    ] 
]; 

Предположим, что вы хотите получить доступ к имени первых элементов

echo $myArray[0]['name']; // it will print 'Paul' 
echo $myArray[0]['hobbies'][0]; // it will print basketball 

Теперь вы можете получить, как и выше.

+0

Когда я это делаю, я просто получаю букву «а», которую я предполагаю, это слово «массив». – user3452136

+0

проверить отредактированный ответ – Vikash

+0

Вы можете скопировать и вставить мой код здесь. http://phpfiddle.org/. Запустить его. Я только что проверил его работу правильно – Vikash

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