检查字符串是否在PHP中序列化

Ind*_*ial 3 php serialization

我正在为我的应用程序构建Redis DB的缓存层,我已经到了将要处理数组的地步.

我想知道是否有任何好的(高性能!)方法控制字符串被序列化或不用PHP?

非常感谢!

dec*_*eze 13

$array = @unserialize($string);
if ($array === false && $string !== 'b:0;') {
    // woops, that didn't appear to be anything serialized
}
Run Code Online (Sandbox Code Playgroud)

$string !== 'b:0;'检查是否序列化的字符串可能已经价值false.如果此检查对您很重要,您可能需要trim序列化字符串或以其他方式对其进行预处理以确保其有效.

  • @Artefacto这可能有用也可能没用,因为很难判断最后一个错误是在这里还是在某个时间之前被抛出.更好的方法是查看序列化字符串,看它是否看起来像一个序列化的`false`.无论如何,谁序列化`false`值?;) (2认同)