2015-12-11 2 views
1

Я хочу знать, как обращаться к массиву в массиве в массиве в php.PHP display array в массиве в массиве

В результате с $user это:

'pages':{'x','y','z','access':{'a':3,'b':6,'c':8,'contact':2}} 

Как я могу получить доступ к контакту, пожалуйста?

+2

Вы уверены, что это массив? –

+0

Мне нравится формат json для меня – Andrew

+0

вы можете предоставить нам полный JSON? –

ответ

0

Используйте json_decode, чтобы преобразовать это в массив в PHP (если это JSON)

+0

Это не json. по крайней мере, недействительный – pavlovich

1

Прежде всего это JSON (возможно), поэтому, прежде чем мы можем получить доступ к нему с PHP мы должны декодировать его с помощью json_decode, который будет дать вам php-объект. (Я сделал это действительный JSON)

$jsonString = '{"pages":{"x": 0,"y": 0,"z": 0,"access":{"a":3,"b":6,"c":8,"contact":2}}}'; 

$phpObject = json_decode($jsonString); 

var_dump($phpObject->pages->access->contact); 
// prints int(2) 
+0

с json_decode, ответ NULL, но с «var_dump ($ user-> pages);» я могу видеть: массив (1) {["acces"] => массив (32) { ["уведомления"] => int (1) ["contact"] => int (2) }} , но Я не могу получить доступ к контакту! спасибо за помощь –

+0

json_decode возвращает NULL, если строка недействительна json. Поэтому я думаю, что вам нужно будет сначала взглянуть на это. Вы можете проверить его здесь: https://jsonformatter.curiousconcept.com/ – Bart

+0

Ну, я получаю значение контакта с $ user-> pages ['acces'] ['contact']; спасибо всем! –

-1

Кажется, ваша строка отсутствует {} вокруг.

{ 
"id":1,"active":1,"canAccess":{"entities":{"1":{"name":"blablabla","services":{"‌​45":{"name":"xxx"}}}}},"blabla":null,"pages":{"acces":{"notifications":1,"contact‌​":2}} 
} 

то это действительная строка JSON.

var_dump(json_decode($string,true));