Может ли кто-нибудь сказать мне разницу между s1 и s2:
<?php
$o = new ArrayObject();
$s1 = serialize($o);
$s2 = $o->serialize();
var_dump($s1);
var_dump($s2);
?>
Приведенный выше пример выведет:
строка (45) "C:11:"ArrayObject":21:{x:i:0;a:0:{};m:a:0:{}}"
строка (21) "x:i:0;a:0:{};m:a:0:{}"
В моем случае я хочу объект массива, в котором сериализованы только его значения, а не весь объект; что-то вроде
массив (сериализованное_значение_1, сериализованное_значение_2, сериализованное_значение_3, сериализованное_значение_4, сериализованное_значение_5,)
есть ли простой способ сделать это, или я должен зациклить массив и сериализовать их 1 на 1 ???
например мне нужно
$arrayObject[0] = serialized_value_0;
$arrayObject[1] = serialized_value_1;
$arrayObject[2] = serialized_value_2;
$arrayObject[3] = serialized_value_3;
а не сериализовать ($arrayObject), который будет сериализовать весь объект...
я хочу использовать сериализацию, потому что проще сравнить 2 объекта, которые не относятся к одному и тому же экземпляру... пример:
$p1 = new People('John');
$p2 = new People('John');
so $p1 != $p2
но сериализовать ($ p1) == сериализовать ($ p2)