php 中序列化和json使用介绍(2)


header("Content-type:text/html;charset=utf8");
class Foo {
     public function test($flag) {
        echo $flag, 'test function for Foo <br />';
    }
}

$foo = new Foo();

echo '反序列化测试:<br />';
$foo->test(1);
$serialize_str = serialize($foo);
$obj = unserialize($serialize_str);
$obj->test(2);

$foo->test(1);
$json_str = json_encode($foo);
$obj = json_decode($json_str);
$obj->test(2);
die();

输出:

复制代码 代码如下:


反序列化测试:
1test function for Foo
2test function for Foo
1test function for Foo

( ! ) Fatal error: Call to undefined method stdClass::test()

json无法处理对象方法等数据。

【使用范围】

•序列化使用serialize,特别是对象的存储。这是其存在的意义。
•与对象无关的数据存储可以使用json,如包含大量数字的数组等。只是当遇到这种情况,我们需要做的可能是重构数据库了。
•数据交换时使用JSON,这也是其定义所在。
•目前JSON是能用于UTF-8编码的数据。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdgwxz.html