我无法unserialize()
我serialize()
并保存到文本文件的回溯。我也不能复制粘贴字符串,它只会复制 NULL 之前的数据,所以我无法在 PHP 中将其反序列化。
这是它在 Notepad++ 中的一小段摘录
关于如何反序列化它有什么想法吗?
注意:我正在使用 error_log($backtrace, 3, 'file.log');
来保存文件,然后只需在 Notepad++ 中打开进行复制粘贴,但我无法复制过去NULL 字符。
最佳答案
所以 serialize 函数使用语法 null*null 来标识成员变量,正如您在此处显示的那样。
空字符在字符串中编码为 \0
并且通常不会显示在输出中。要反序列化,您需要将这些“空”文本转换回 \0
。
当我编写一个序列化数组时,我通过一个将 \0
转换为 [NULL]
的函数来运行它。
$string = str_replace("\0","[NULL]",$string);
然后当你准备反序列化时,你可以做相反的事情
$string = str_replace("[NULL]","\0",$string);
关于php - 在序列化字符串中发现 NULL 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11728925/