PHP JSON Кодировать квадратную скобку

У меня есть простой массив JSON, который я пытаюсь кодировать. Внутри строки JSON мне нужен еще один массив в квадратных скобках. Я не могу понять, как сделать квадратные скобки квадратными. Любой совет?

Вот мой код

$data = [ "item" =>  ["id" => "123456", "name" => "adam"]  ];
$data_string = json_encode($data);

Вот вывод

{"item":{"id":"123456","name":"adam"}}

Что я надеюсь получить

{"item":["1123","1134","1184"]}

1

Решение

В JSON [] это массив и {} это объект.

Массив содержит упорядоченный список значений.

Объект содержит неупорядоченную группу пар ключ / значение.

Если вам нужен массив, вы должны предоставить упорядоченный список значений (массив PHP), а не набор пар ключ / значение (ассоциативный массив PHP).


$data = [ "item" =>  ["id", "123456", "name", "adam"]  ];
$data_string = json_encode($data);

дает

{"item":["id","123456","name","adam"]}
7

Другие решения

Насколько я помню, массив JSON не может иметь ключей и значений одновременно, как для javascript. Если у вас есть массив php с ключами и значениями, который будет преобразован в Object для JSON, удалите ключи из массива php, и вы также получите массив JSON.

1

По вопросам рекламы [email protected]