我有些困惑PHP中serialize/unserialize的概念。
假设我有一个非常简单的PHP对象(类someObject),并且在设置该对象的属性后,我想将其序列化:
所以我调用:
我想通过html表单将这个序列化的对象传递到另一个php脚本中,所以我把它设置为一个隐藏的值:
在下一个php脚本中,我想使用unserialize来获取我的对象并将其转移到数据库中。
但是这总是返回 BOOL(false) - 那我错过了什么呢?
谢谢你的帮助!
假设我有一个非常简单的PHP对象(类someObject),并且在设置该对象的属性后,我想将其序列化:
所以我调用:
serialize($someObject)
;我想通过html表单将这个序列化的对象传递到另一个php脚本中,所以我把它设置为一个隐藏的值:
<input type="hidden" name="someObject" value="<? print $someObject; ?>"
在下一个php脚本中,我想使用unserialize来获取我的对象并将其转移到数据库中。
$unserialize = unserialize($_POST['someObject'])
但是这总是返回 BOOL(false) - 那我错过了什么呢?
谢谢你的帮助!
var_dump( $_POST['someObject'] );
来查看。此外,您应该使用会话来处理此事,而不是隐藏输入字段。 - tereško"
的任何保证,如果包含,生成的 HTML 将会损坏。如果 unserialize() 无法反序列化对象,它将返回false
。 - Joachim Isaksson