Эхо JSON значения в столбце

Данные 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>";
           } 
   }
}

Результат:

ID книги: 123456

Почему только одни данные?

Всего 2 ответа


Так что проблема в том, что JSON содержит дубликаты ключей ( bid ):

{"bid":"123","bid":"1234","bid":"12345","bid":"123456"}

Чтобы это работало, вы можете создать несколько уникальных ключей в вашем объекте JSON или просто создать массив JSON:

["123", "1234", "12345", "123456"]

Вот рабочий пример .


вместо JSON: {"bid":"123","bid":"1234","bid":"12345","bid":"123456"}

попробуйте JSON: {"bid1":"123","bid2":"1234","bid3":"12345","bid4":"123456"}

Обратите внимание, что ключ должен быть уникальным


Есть идеи?

10000