PHP 可遍历类型提示

标签 php arrays php-7.1

我有一个相对简单的函数,它使用 foreach

function foo($t) {
     $result;
     foreach($t as $val) {
         $result = dosomething($result, $val);
     }
     return $result;
}

我想输入提示,然后 Traversable似乎正是我需要的类型提示

 function foo(Traversable $t) {

然而,这在使用数组时会产生一个E_RECOVERABLE_ERROR(当然可以在foreach 中使用):example

 Argument 1 passed to foo() must implement interface Traversable, array given

有没有办法输入提示或者这是不可能的?

最佳答案

PHP 7.1 引入了 iterable type declaration为此,它接受 \Traversable 的数组和实例。

在以前的版本中,您必须省略类型声明。

关于PHP 可遍历类型提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031720/

相关文章:

javascript - 删除数组的所有元素,删除 : true property

mysql - 在 MySQL 中存储多行数据的最佳方式?

php - Mysql获取相同字符串的完全匹配但键入不同的特殊字符

php - 运行 REST API 的最快方法 - 使用任何开源工具

c++ - 在 C++ 中,如何将静态数组作为参数传递给对象,并在其中修改原始数组?

php - 使用 RSA 2048 公钥验证 RSA PKCS#1v1.5 SHA 256 签名

PHP count() 在非空数组上返回 NULL

php - mysqli php 查询更新不工作,不返回错误

php - Doctrine :视觉实体 map

php - PHP 的 foreach 幕后发生了什么?