Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
<?php
$data = ['id' => 1, 'tags' => ['a', 'b'], 'ok' => true];
$json = json_encode($data);
$back = json_decode($json, true);
$obj = json_decode($json);
echo $json, ' ', $back['tags'][1], ' ', $obj->id, "\n";{"id":1,"tags":["a","b"],"ok":true} b 1
- Ждать, что
json_decodeвсегда возвращает массив: без второго аргументаtrueона возвращает объектstdClass, который читают через->, а не через[]. - Ждать, что любой массив PHP станет JSON-объектом: список с ключами 0, 1, 2… записывается JSON-массивом, и объект дают только другие ключи.
- Что вернёт
json_decodeдля строки, которая не является правильным JSON? - Какой флаг заставит
json_encodeписать кириллицу как есть?