var_dump(is_a([], "array"));
上面的代码显示"假"。
但
echo gettype([]);
显示"数组"。
我在这里做错了什么或错过了什么吗?
is_a()
函数检查对象是属于此类还是将此类作为其父类之一
要检查某物是否是array
,您应该使用is_array()
。
根据问题和评论中描述的内容,听起来您正在寻找一种方法来确定某些东西(即数组或对象)是否可迭代。
在 PHP 中,这可以通过is_iterable()
来实现,如果传入的参数支持通过foreach
迭代,它将返回true
。
从文档中:
验证变量的内容是否被可迭代对象接受 伪类型,即它是数组或实现的对象 可遍历
对于您在问题中提到的数组:
is_iterable([]));
输出:
bool(true);