Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ArrayAccess是否扩展了可遍历性?_Php - Fatal编程技术网

Php ArrayAccess是否扩展了可遍历性?

Php ArrayAccess是否扩展了可遍历性?,php,Php,扩展了吗?每个手册页都没有提到另一个。该页面并不表示它扩展了可遍历性,但也没有明确拒绝它。我之所以这么问,是因为我的代码可以采用Traversable或ArrayAccess,我想确保我需要测试这两种方法。简短回答否 对于您需要的内容,您可以使用arrayiterator 接口不相互实现,而是扩展。 接口由开发人员通过接口/抽象类/类来实现或扩展。 接口是一些代码实现并遵守的契约,以及 其他代码取决于。它使我们能够保证,任何给定的 依赖关系将实现我们期望的方法。更进一步地说 在即将发布的PHP7

扩展了吗?每个手册页都没有提到另一个。该页面并不表示它扩展了可遍历性,但也没有明确拒绝它。我之所以这么问,是因为我的代码可以采用Traversable或ArrayAccess,我想确保我需要测试这两种方法。

简短回答否

对于您需要的内容,您可以使用arrayiterator

接口不相互实现,而是扩展。 接口由开发人员通过接口/抽象类/类来实现或扩展。 接口是一些代码实现并遵守的契约,以及 其他代码取决于。它使我们能够保证,任何给定的 依赖关系将实现我们期望的方法。更进一步地说 在即将发布的PHP7中,我们还可以使用类型提示对象和标量 和返回类型,以进一步确保具体实现 遵守合同


ArrayAccess的定义很明显,不是吗?Traversable的手册页从一开始就说:使用foreach检测类是否可遍历的接口。不过,您也可以使用foreach遍历ArrayAccess对象。我认为您不能。