Привет, у меня есть проект для просмотра подкатегорий с json и php мой json по умолчанию
{"lenght":0,"subcategory":[]}
и я хочу увеличить или уменьшить длину и добавить или удалить элемент из массива подкатегорий
это мой скрипт php
$json = base64_decode($json);
$obj = json_decode($json, true);
array_push($obj["subcategory"], $last_id);
$obj["lenght"] = (int)$obj["lenght"] + 1;
$json = json_encode($obj);
$json = base64_encode($json);
echo $json;
и после запуска моего php скрипта мой json выглядит так
{"subcategory":null,"lenght":1}
Включены ли у вас правильные отчеты об ошибках PHP? Если нет, пожалуйста, сделайте это в первую очередь.
это потому, что его проще хранить в моей базе данных с помощью base64
Где установлен $last_id? (И опечатка: lenght должен быть length)
JSON - это текст, и в базах данных нет проблем с хранением текста. Собственно, изначально для этого они и были созданы. Но в любом случае нам нужен правильный минимальный воспроизводимый пример от вас, включая образцы данных.
$ last_id устанавливается непосредственно перед @borwbeer
Базовый код, который вы показали, со значениями переменных, предоставленными напрямую (и за вычетом шагов base64), работает нормально, как доказывает 3v4l.org/GGKPr.
Я отправляю имя и идентификатор основной категории, и я сохранил основную категорию и имя в таблице sub_category, и я получаю этот идентификатор, и я сохраняю его внутри массива и добавляю 1 к длине
Какой смысл хранить длину массива, который также включен в тот же ответ? Ее может рассчитать любой желающий узнать длину.






Большое спасибо, я обнаружил проблему, потому что я использовал $ row вместо $ row2 для получения json, прежде чем вносить какие-либо изменения, и я хочу внести изменения в json пуст
Почему здесь задействовано кодирование / декодирование base64? Пожалуйста, представьте правильныйминимальный воспроизводимый пример, который действительно показывает проблему.