我有一些遗留代码,并将一个数组重构为 ArrayObject。现在我在检查变量是否为数组时遇到问题:
if (is_array($entity) && $otherCondition) {
// do something
}
is_array()
函数在 ArrayObject 上返回 false
。参见 this report .
最简单的解决方案是使用这样的东西:
function is_traversable($var) {
return is_array($var) || $var instanceof Traversable;
}
PHP 是否有一些 native 方法来进行这样的检查?
最佳答案
根据 http://blog.stuartherbert.com/php/2010/07/19/should-is_array-accept-arrayobject/ , 你必须制作你写的自定义方法才能做你想做的事......
关于php - 检查数组和数组对象的 is_array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30210572/