Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: serialize / unserialize array(key=>value)
Форумы портала PHP.SU » » Вопросы новичков » serialize / unserialize array(key=>value)

Страниц (1): [1]
 

1. madlabel - 08 Февраля, 2017 - 12:45:34 - перейти к сообщению
Имеется строка вида:
PHP:
скопировать код в буфер обмена
  1. $string = "name1:value1,name2:value2";


Хочу положить ее в поле бд varchar!
Как лучше это сделать?
PHP:
скопировать код в буфер обмена
  1. $data = array();
  2. $string = explode(',', $string);
  3. foreach($string as $str){
  4.     $vars = explode(':', $str);
  5.     $data[$vars[0]] = $vars[1];
  6. }
  7. $to_db = serialize($data);

Сохраняю в бд, но при unserialize(поле из бд) не получается массив..
Нужно на выходе было что-то вроде: array('key' => 'value', 'key' => 'value');
2. andrewkard - 08 Февраля, 2017 - 13:36:22 - перейти к сообщению
madlabel пишет:
Хочу положить ее в поле бд varchar!

так и ложите строкой, в чем проблема.
Если все же хочется сделать пред обработку, загоните в JSON.

 

Powered by ExBB FM 1.0 RC1