serialize函数有何用?和 JSON有什么区别


官方解释:

serialize
(PHP3 >= 3.0.5 , PHP4)
serialize ---  产生一个可储存的值的表示

语法 : string serialize (mixed value)

说明 : 
serialize( )传回一个包含由value所表示的byte-stream字符串,它能储存在任何地方。
这可用来储存或传递PHP的值,而不失去它们的型态和结构。

使用unserialize( )能使serialized字符串再次成为原来PHP的值。serialize( )能处理的型态有integer、double、string、array(多面的)、object(物件的属性将会serialized,但方法则会lose)


注意:

serialize() 可处理除了 resource 之外的任何类型。


使用演示:

<?php
$a=array('a','b','c中国');
$a=serialize($a);

echo $a.'<br />';

$b=unserialize($a);
print_r($b);


wKioL1PW87ujqDbBAAB5v4RCKco101.jpg

个人理解(通俗的讲),就是用来存各种格式的东西,方便传递。


和json有什么区别呢?

JSON是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON是在AJAX中代替XML交换数据的更佳方案。

$arr = array
       (
          'Name'=>'Peter',
          'Age'=>20
       );

$jsonencode = json_encode($arr);
echo $jsonencode;
{"Name":"Peter","Age":20}


参考学习地址:

PHP serialize & JSON 解析



php中serialize和unserialize用法