2017-02-22 10 views
0

Я пытаюсь изучить JSON и PHP с помощью API.JSON PHP с использованием указателей API

Моя проблема заключается в том, что я не могу извлечь данные примера Array 0, результат, который можно увидеть снизу, если вы перейдете к ссылке, просто Array googled как mutch, как я могу, но любопытное новое в массиве json.

$json_data=json_decode($json_array,true); 
print_r($json_data); 
echo "<br>"; 
echo $json_data['total'],"<br>"; 
echo $json_data['skipped'],"<br>"; 
echo $json_data['count'],"<br>"; 
echo $json_data['0'],['name'],"<br>"; 
+0

Вы хотите версию JSON канала связи вы отправили? – bugfroggy

+0

хочу иметь возможность сортировать данные, чтобы я мог его структурировать, так как на данный момент я получаю только полные данные о пропущенных счетах, а не данные в пределах [0] => Array ([id] => uvklujebkpyfd57 [name] = > somename – chrjoh88

+0

Для лучшего понимания в будущем попробуйте увидеть выход, например 'echo

 ; print_r($json_date) ; echo
;' и прочитать о [foreach] (http://php.net/manual/en/control-structures.foreach.php) цикле, как обращаться к массиву в нем – gaurav

ответ

0

Основываясь на ваших комментариях, я думаю, что вижу, что вы хотите делать. Вы пытаетесь получить доступ к второму уровню своего массива некорректно. Вы не ставите ничего между двумя наборами кронштейнов. Вам также не нужно помещать 0 в кавычки, так как это не строка. Я думаю, что вы хотите:

$json_data=json_decode($json_array,true); 
print_r($json_data); 
echo "<br>"; 
echo $json_data['total'],"<br>"; 
echo $json_data['skipped'],"<br>"; 
echo $json_data['count'],"<br>"; 
echo $json_data[0]['name'],"<br>"; // Line changed, removed comma and quotes. 

EDIT: Обратите внимание, что [0]['name'] находится внутри значения hits, так что вы, вероятно, хотите вместо этого:

echo $json_data['hits'][0]['name']; 
+0

Я действительно пробовал это сейчас, когда я изменил код, который просто показывает пустое внизу страницы, это действительно странно, потому что я пробовал большую часть материала, который я прочитал, корыта на руководствах, как это сделать. – chrjoh88

+0

, так что если вы делаете 'echo $ json_data ['hits'] [0] ['name'];' он ничего не выводит? Убедитесь, что он установлен, выполнив 'if (isset ($ json_data ['hits'] [0] ['name']) echo« Он установлен ».' 'Если он не установлен, он ничего не должен выводить. наоборот, положив '!' перед 'isset' – bugfroggy

+0

Bugfroggy спасибо! теперь он работает при добавлении хитов? Можете ли вы сотрудничать, почему это сработало? Потому что Array называется хитами, а затем попадает в хиты 1, 2, 3 и т. д. – chrjoh88

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