Rumah  >  Artikel  >  pembangunan bahagian belakang  >  serialize()和unserialize()函数的实例讲解

serialize()和unserialize()函数的实例讲解

零下一度
零下一度asal
2017-07-27 16:40:531194semak imbas

    今天看class.quickskin.PHP代码的时候,看的一个没有见过的函数serialize,大神和小百都问了,也没弄清个头绪,结果一想本地测试一下不就得了,又猪头了一次。。。。
其实这样的问题很简单,自己动手一下就解决,很多时候还是我们太懒了。。。。
用语言来解释程序往往是很难的,尤其是像我这样的菜菜,很多时候还是看代码来得更容易些。
PHP5 手册里是的解释如下,咋一看有点云里雾里的感觉,但是测试之后再看一遍就明白多了。
简单说serialize($param)就是把$param的值序列化,貌似以前看过UCHOME数据库里某些字段就是存储的这样的数据(a:1:{s:7:"apppath";s:0:"";}),而unserialize($param)就像serialize的逆向操作,将一个序列化值转换为对应的字符串,该转换对数字变量和字符串变量可行,但是对数组和对象实例分别输出“Array”和“Catchable fatal error: Object of class Object could not be converted to string in ”错误信息。

serialize()可处理处资源类型外所有的类型,也可以序列化对象

<?php 
$array = array(); 
$array[&#39;keys&#39;] = &#39;www&#39;; 
$array[&#39;values&#39;]=&#39;11111&#39;; 
$a = serialize($array); 
echo $a; 
unset($array); 
$a = unserialize($a); 
print_r($a); 
?>

输出

a:2:{s:4:"keys";s:3:"www";s:6:"values";s:5:"11111";}

Array ( [keys] => www [values] => 11111 )

对类的操作也一样

 

Atas ialah kandungan terperinci serialize()和unserialize()函数的实例讲解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:php操作MongoDB类示例代码Artikel seterusnya:laravel的分页问题实例