Пример:
{"data":[
"1":TRUE
"2":FALSE
] }
PHP
Как на php и json_encode чередовать {} и []
А проблема в чём? В том, что json_encode возвращает валидный JSON, а тебе нужно получить невалидный?
Сергей Баранов
в чем разница?
Твоя конструкция: {"data":["1":TRUE, "2":FALSE]} ошибочна: в квадратных скобках может быть только СПИСОК значений - БЕЗ ключей. Ключи же проставляются автоматически: подряд идущие целые числа, начиная с 0.
Т.е. либо {"data":[TRUE, FALSE]}, либо {"data":{"1":TRUE, "2":FALSE}}.
Если твой PHP-массив имеет ТОЛЬКО подряд идущие целые ключи, начиная с нуля - он будет в квадратных скобках. Иначе (имеются нечисловые ключи, последовательность ключей начинается не с 0, в последовательности ключей есть пропуски) - в фигурных.
Объект всегда будет в фигурных скобках.
Надо явно фигурные скобки - используй преобразование в объект: (object)$array
Надо явно прямоугольные - используй https://www.php.net/manual/ru/function.array-values.php
Т.е. либо {"data":[TRUE, FALSE]}, либо {"data":{"1":TRUE, "2":FALSE}}.
Если твой PHP-массив имеет ТОЛЬКО подряд идущие целые ключи, начиная с нуля - он будет в квадратных скобках. Иначе (имеются нечисловые ключи, последовательность ключей начинается не с 0, в последовательности ключей есть пропуски) - в фигурных.
Объект всегда будет в фигурных скобках.
Надо явно фигурные скобки - используй преобразование в объект: (object)$array
Надо явно прямоугольные - используй https://www.php.net/manual/ru/function.array-values.php
В фигурных скобочках объекты, а в квадратных скобочках массивы.
Для json только так.
Для json только так.
так как ты хочешь не получится потому что в JSON - можно положить либо массив тогда скобки будут квадратные а индексы числовые без кавычек либо объект тогда скобки будут фигурные а индексы строковые в кавычках . в php разницы особо нет, для него и то и то массив но есть нюанс если сделаешь в php массиве все индексы числовыми прожуешь его через json_encode() то в JSON тоже будет точно массив а не объект а если надо наоборот получить в JSON объект тогда хотябы один ключ надо сделать в php массиве строковым
https://onlinephp.io/c/a73ed - вот эксперементальный пример
https://onlinephp.io/c/a73ed - вот эксперементальный пример
Сергей Баранов
я уже понял что не так написал, просто я хотел получить это https://docs.ely.by/ru/minecraft-auth.html#id1
Похожие вопросы
- Передача json строки php to js
- Произошла ошибка 0 Error decoding JSON data: Control character error, possibly incorrectly encoded
- PHP Polling ChatGPT
- Как оптимизировать структуру сайта php. на готовом шаблоне
- Не работает PHP include на хостинге
- Хеширование пароля php
- Подскажите хороший курс по PHP практике?
- Пишу авторизацию (php). Куки не работают
- Вопрос начинающего программиста Python\PHP
- Как в PHP указать тип переменной unsigned int?