在PHP中序列化引用

d0b*_*0bz 3 php serialization reference

我想知道为什么我在php中的序列化不能按预期工作:

<?
$x = "whatever...";
$y = array(&$x, "test, 1-2, 1-2...", &$x);
$yy = unserialize(serialize(&$y));
$y[0] = "blah";
echo($yy[0]); // prints 'whatever', was expecting 'blah'
?>
Run Code Online (Sandbox Code Playgroud)

Exp*_*lls 6

&被忽略serialize.

好像你正试图从创建符号表别名(参考)yyy,但你不能在这里这样做.传递&yserialize它时,它不会将传递的值视为引用或行序列化.而且,它返回一个全新的值,而不是对原始值的引用.您必须单独创建别名:

$yy = &$y;
$yy = unserialize(serialize($y));
Run Code Online (Sandbox Code Playgroud)

我也不确定你要做什么,或者它与序列化有什么关系.