我有一个相对简单的函数,它使用 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/