php serialize与unserialize的作用与使用


serialize(序列化)的作用是把数组或者php对象转为字符串。
unserialize(反序列化)的作用相反,是把字符串(经过serialize处理的)转化为数组或者php对象。

举例来说明一下:

<?php
  header("Content-Type:text/html;charset=UTF-8");
  $citylist=array(
  "city"=>"北京",
  "address"=>"中关村",
  "building"=>"鼎好"
    );
  $citylistout= serialize($citylist); //把$citylist转化为字符串
  echo $citylistout;
  echo "<br/><br/><br/>";
  $citylistread=unserialize($citylistout);//把字符串转化为数组
  var_dump($citylistread);

?>

输出结果如下:

a:3:{s:4:"city";s:6:"北京";s:7:"address";s:9:"中关村";s:8:"building";s:6:"鼎好";}


array(3) { ["city"]=> string(6) "北京" ["address"]=> string(9) "中关村" ["building"]=> string(6) "鼎好" }

 

mysql数据库中就是用serialize函数把数组转为字符串保存,读的时候再把字符串用unserialize转回来。

京ICP备14008139号-1