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:{}}"
string(21) "x:i:0;a:0:{};m:a:0:{}"
私の場合、オブジェクト全体ではなく値のみがシリアル化された配列オブジェクトが必要です。何かのようなもの
array( serialized_value_1, serialized_value_2, serialized_value_3, serialized_value_4, serialized_value_5, )
これを行う簡単な方法はありますか、それとも配列をループして 1 つずつシリアル化する必要がありますか ???
たとえば、私は必要です
$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
but serialize($p1) == serialize($p2)