Intereting Posts
Надежный способ обнаружения рабочего стола и мобильного браузера сохранять jquery ui-sortable позиции в DB Загрузка файлов без возникновения ошибок на стороне сервера во время процесса Проблема с AJAX, загружающая скрипт php, вызываемый из onclick; Безопасное выполнение заданий Cron с помощью Zend Framework Строка прерывания Regex на основе и / или в концепции поиска Являются ли скалярные и строгие типы в PHP7 функцией повышения производительности? Как преобразовать 13-значную временную метку Unix в дату и время? директива броузера ini не установлена как обновить и опубликовать значение флажка из ajax-вызова Вставка нескольких элементов в один ID MySQL из флажка ввода PHP-формы Получить содержимое файла XML с помощью PHP Отображение PHP MYSQL Открыть статус Используйте следующий возможный первичный ключ в столбце auto_increment после удаления одной или нескольких строк Использование .htaccess, никогда не показывать index.php

Как преобразовать текст JSON в ассоциативный массив PHP

У меня есть следующий объект JSON, хранящийся в текстовом файле (data.txt):

{"player":"black","time":"0","from":"2c","to":"3d"} 

Который я читаю, используя php:

 <?php $data = file_get_contents('data.txt'); ?> 

Вопрос: Есть ли простой способ преобразования $data в ассоциативный массив PHP. Я попытался использовать json_decode($data); но это не сработало, никаких предложений?

 $assocArray = json_decode($data, true); 

Второй параметр устанавливает результат как объект (false, default) или ассоциативный массив (true).

Попробуйте: json_decode($data, true)

http://www.php.net/manual/en/function.json-decode.php

Это сработало для меня. Кроме того, убедитесь, что ваша версия PHP имеет json_encode / json_decode.

Вы можете использовать эту функцию для преобразования массива из json в php, это может проверить, является ли предоставленная строка действительной json или нет:

 function convert_to_json($file, $in_array = True) { if(file_exists($file)) { $string = file_get_contents($file); }else { $string = $file; } $return_array = json_decode($string, $in_array); if (json_last_error() == JSON_ERROR_NONE) { return $return_array; } return False; }