序列化与反序列化
当我们向把数组或者对象 写入文本中的时候,会保存吗?答案是不会的?那就需要用到 序列化
序列化:serialize() 反序列化:unserialize()
数组的存储
<?php $arr=["中国","美国","韩国","新加坡"]; $file="./1.txt"; file_put_contents($file,$arr); //写入的是字符串 也不是数组 //序列化 $arrrNew=serialize($arr); file_put_contents($file,$arrrNew); //a:4:{i:0;s:6:"中国";i:1;s:6:"美国";i:2;s:6:"韩国";i:3;s:9:"新加坡";} 保存成功了 //反序列化输出 print_r(unserialize(file_get_contents($file))); //Array ( [0] => 中国 [1] => 美国 [2] => 韩国 [3] => 新加坡 )
对象的存储
对象的存储和数组一样,但是有个条件,就是 需要有类的参与,比如 我们序列化后,把类删除了,那反序列化后,就会出现未知的类型