【发布时间】:2016-11-30 09:55:14
【问题描述】:
这是我框架中的基本数组
array(2) {
[0]=>
string(2) "40"
[1]=>
string(2) "41"
}
这是我的测试:
echo($array instanceof Traversable); // 0
echo(is_array($array)); // 1
看来我的标准 php 数组不是 Traversable 的实例,这似乎不一致。
【问题讨论】:
-
数组在 PHP 中没有实现
Traversable,但它们可以在foreach中遍历 -
数组不是类,因此它甚至不能从任何类或接口扩展。 Traversable 适用于迭代器等。
-
从 PHP 7.1 开始,您可以使用伪类型
iterable作为类型声明,它允许使用数组或实现 Traversable 的东西:php.net/manual/en/language.types.iterable.php
标签: php