Данные JSON в одном столбце. Я хочу распечатать эти данные JSON, но пишет только один из них. В чем причина этого?
JSON: {"bid":"123","bid":"1234","bid":"12345","bid":"123456"}
| id| bSQ | bID |
|---|-------|--------------------------------------------------------|
| 1 | 2019 |{"bid":"123","bid":"1234","bid":"12345","bid":"123456"} |
| 2 | 2019 | .. |
| 3 | 2019 | .. |
PHP:
if ($dataFromDBqas) {
foreach ($dataFromDBqas as $dataFromDB) {
$libBookHuge = $dataFromDB->bID;
$hugeArray = json_decode($libBookHuge, true);
foreach ($hugeArray as $key => $value) {
echo "Book ID: ".$value ."<br>";
}
}
}
Результат:
Book ID: 123456
Почему только одна строка данных?
@Ты получил. Если я уберу bid, смогу ли я распечатать все идентификационные номера с помощью PHP-кода?
Да, но в массиве json, например, вот так: [123, 1234, 12345], см. sandbox.onlinephpfunctions.com/code/…
@Ты получил. Да! Это так хорошо! Если вы отправите пост, я могу принять ваш пост






Итак, проблема в том, что JSON содержит повторяющиеся ключи (bid):
{"bid":"123","bid":"1234","bid":"12345","bid":"123456"}
Чтобы это работало, вы можете создать несколько уникальных ключей в вашем объекте JSON или просто создать массив JSON:
["123", "1234", "12345", "123456"]
Вот рабочий пример.
Проблема в том, что ваш JSON содержит повторяющиеся ключи. Ключи должны быть уникальными.