PHP 7.1新增了新函数is_iterable,用于检查变量是否可以迭代。但是,尽管您可能会迭代对象的属性,但
但我期望它能够输出。
is_iterable
对它们返回false。这似乎是有意为之的,因为它已经被记录下来,并且我没有找到任何关于此问题的PHP漏洞,但我想知道为什么要这样做?<?php
$a = new stdClass();
$a->foo = 'bar';
var_dump(is_iterable($a));
foreach ($a as $key => $value) {
var_dump($key, $value);
}
输出
boolean false
string 'foo' (length=3)
string 'bar' (length=3)
但我期望它能够输出。
boolean true
string 'foo' (length=3)
string 'bar' (length=3)