我有以下内容;
$foo;
$foo = serialize($foo);
print_r($foo);
it gave me a result of N;
Run Code Online (Sandbox Code Playgroud)
现在我不知道这是否是我使用的系统所独有的,或者这是否是正常结果。我所知道的是它给我的网站造成了重大问题。
我的问题是......序列化一个未定义的变量时这是否正常?如果是这样,请解释为什么它会输出这个结果。谢谢你的时间。
该字符串似乎N;是 的serialize()d 形式null。(请参阅此键盘)
但是,有两点需要注意:
null. 否则,您会收到有关$foo未定义变量的通知。有些人认为你可以隐藏警告,但这是不好的做法。您应该通过对所有变量使用合理的默认值来完全防止它们。serialize(). 您可以将其存储在数据库、文件或内存缓存系统(如 Memcached、APC 或 Redis)中。但是,serialize()由于unserialize().