PHP is_a() 为数组返回 false?


var_dump(is_a([], "array"));

上面的代码显示"假"。

echo gettype([]);

显示"数组"。

我在这里做错了什么或错过了什么吗?

is_a()函数检查对象是属于此类还是将此类作为其父类之一

要检查某物是否是array,您应该使用is_array()

根据问题和评论中描述的内容,听起来您正在寻找一种方法来确定某些东西(即数组或对象)是否可迭代。

在 PHP 中,这可以通过is_iterable()来实现,如果传入的参数支持通过foreach迭代,它将返回true

从文档中:

验证变量的内容是否被可迭代对象接受 伪类型,即它是数组或实现的对象 可遍历

对于您在问题中提到的数组:

is_iterable([]));

输出:

bool(true);

最新更新