Я пытаюсь перечислить каждую запись «имя» из файла JSON. Однако я продолжаю получать одну и ту же запись, скопированную несколько раз для каждого родителя. Например, «Имя» возвращает DennisDennisDennisDennis. Я не могу удалить [3] (или любое число внутри него), потому что тогда моя страница станет пустой. Как мне закодировать его, чтобы в следующий раз он перечислял каждое из имен в json? Это мой код:
$opts = array(
'http'=>array(
'header'=>"X-AUTH-TOKEN: 41e509ad68f0......")
);
$context = stream_context_create($opts);
$url = 'workingurlhere';
$data = file_get_contents($url, true, $context);
$result = json_decode($data);
foreach ($result as $all){
echo $result -> data[3] -> Name;
}?>
Вам просто нужно ссылаться на $ all, а не на $ result.
foreach ($result as $all){
echo $all -> data[3] -> Name;
}
Ваша проблема в том, что вы всегда ссылаетесь на исходный массив $result
, Таким образом, вы всегда получите один и тот же результат.
foreach ($result as $all){
echo $result->data[3]->Name; // Always printing the same index.
}
Я бы предположил, что может сработать следующее, но не видя, какие данные находятся в $result
Я не могу быть уверен на 100%.
foreach ($result->data as $values){
echo $values->Name;
}
Если это не сработает, возможно, стоит отредактировать исходный вопрос с помощью $result
содержит.
Поскольку я не знаю структуру JSON, это половина догадки и половина инстинкта.
foreach ($result as $all){
echo $all -> data[3] -> Name;
}
Или, если вам нужно включить data
сам:
foreach ($result->data as $entry){
echo $entry -> Name;
}