php - 在 PHP 中序列化引用

标签 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'
?>

最佳答案

&serialize 忽略.

您似乎正在尝试从 y 创建符号表别名(引用)。至 yy ,但你不能在这里这样做。当您通过&yserialize ,它不会将传递的值视为引用或在线序列化。此外,它返回一个全新的值,而不是对原始值的引用。您必须单独创建别名:

$yy = &$y;
$yy = unserialize(serialize($y));

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

关于php - 在 PHP 中序列化引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12590734/

相关文章:

php - 使用小型客户端从数据库帮助中使用 $_GET 检索信息。 PHP 和 MySQL

c++ - 返回对私有(private)成员的引用

php - Zend 框架 fetchAll

javascript - Safari 问题,变量未定义(XML/Javascript)

C#:如何在 SQL Server 中存储任意对象?

java - joda.time.DateTime 反序列化错误

jsf - 创建 session 范围托管 bean 时可序列化接口(interface)的重要性

rust - 我无法理解 Rust "scope"定义(Rust 编程语言,第二版。Klabnik & Nichols)

java - 将类的引用传递给另一个类android错误

php - 无论输入如何,搜索引擎的查询都会返回相同的结果