如果变量是可序列化的,我正在寻找一种优雅的测试方法。例如array(function() {})
将无法序列化。测试变量是否可序列化
我目前使用下面的代码,但它似乎是一个非常不理想的方式。
function isSerializable($var)
{
try {
serialize($var);
return TRUE;
} catch(Exception $e) {
return FALSE;
}
}
var_dump(isSerializable(array())); // bool(true)
var_dump(isSerializable(function() {})); // bool(false)
var_dump(isSerializable(array(function() {}))); // bool(false)
这是做:) – alex 2011-04-25 04:22:35
的一个很好的办法呀我同意亚历克斯,这看起来非常好。你是否担心试图序列化的开销? – 2011-04-25 04:23:58
我认为这是最好的方式,而其他方式不存在:) – 2011-04-25 04:24:33