我有一个相对简单的函数,它使用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 - PHP Traversable类型提示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17031720/

10-13 06:02