2013-03-09 6 views
1

Есть ли функция PHP для кодирования общего многомерного массива в виде строки и возврата его в виде многомерного массива?Есть ли функция PHP для кодирования/декодирования многомерного массива в строке?

Мне нужно его хранить в mysql некоторые данные (точнее вычисляемое поле drupal). Массив содержит только поплавки и строки.

ответ

5

serialize() и unserialize() делать то, что вы описываете.

http://www.php.net/manual/en/function.serialize.php

http://www.php.net/manual/en/function.unserialize.php

Вы могли бы также рассмотреть кодирующая массив как JSON с json_encode() и json_decode(), что дает более читаемый вывод, если это важно для вас.

+0

спасибо, вот что я искал. – Antonello

+0

Drupal использует serialize и unserialize для хранения переменных. – JurgenR

+0

Если вы используете Drupal, вы должны использовать функцию ['variable_set()') (http://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/variable_set/7), которая автоматически сериализуется данные и хранит его для вас. –

0

Во-вторых, использование «json_encode» и «json_decode». Я считаю, что вывод «json_encode» менее подробный, чем функция сериализации PHP (поскольку типы данных выводятся) и становится более переносимой (хотя это и не является обязательным требованием).

Убедитесь, что вы передали «ИСТИННЫЙ» для второго параметра «json_decode», иначе вы можете вернуть простой объект в зависимости от того, как были закодированы исходные данные.

 Смежные вопросы

  • Нет связанных вопросов^_^