Показать сообщение отдельно
  #11 (permalink)  
Старый 19.06.2020, 09:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Забыл сказать. Я же говорил - прочесть о функции json_decode. Что пишут? А пишут о том, о чем я ранее говорил - если опущен второй параметр функции, то результатом будет не массив, а объект. К пример, пусть json будет таким и он как и у вас отправлен серверу под ключом q:

{"a":1,"b":2}


Декодируем:

$data = json_decode($_POST['q']);
//попытка вывести значение как
echo $data['a'];
//закончится фатальной ошибкой - Fatal error:  Cannot use object of type stdClass as array
//так как $data, это объект и получить можно только значения его свойств a и b
echo $data->a; //а так верно и будет выведено в браузер 1, получили значение свойства a объекта $data
//если декодировать со вторым параметром равным true (можно и 1 указать, любое значение больше 0 тоже есть true)
$data = json_decode($_POST['q'], true);
//то $data массив и вывод
echo $data['a']; //это верно, есть такой ключ в массиве, а значит получим 1


Обязательно читать о функциях, их назначении, параметрах и работе. В руководстве есть примеры.

Последний раз редактировалось laimas, 19.06.2020 в 09:56.
Ответить с цитированием