谁能告诉我s1和s2的区别:
<?php
$o = new ArrayObject();
$s1 = serialize($o);
$s2 = $o->serialize();
var_dump($s1);
var_dump($s2);
?>
上面的示例将输出:
string(45) "C:11:"ArrayObject":21:{x:i:0;a:0:{};m:a:0:{}}"
字符串(21)“x:i:0;a:0:{};m:a:0:{}”
在我的情况下,我想要一个仅序列化其值而不是整个对象的数组对象;就像是
数组(serialized_value_1,serialized_value_2,serialized_value_3,serialized_value_4,serialized_value_5,)
有没有一种简单的方法可以做到这一点,或者我应该在数组中循环并逐个序列化它们???
例如我需要
$arrayObject[0] = serialized_value_0;
$arrayObject[1] = serialized_value_1;
$arrayObject[2] = serialized_value_2;
$arrayObject[3] = serialized_value_3;
而不是 serialize($arrayObject) 它将序列化整个对象......
我想使用序列化,因为它更容易比较不是来自同一实例的 2 个对象......例如:
$p1 = new People('John');
$p2 = new People('John');
所以 $p1 != $p2
但是序列化($p1)== 序列化($p2)