我正在实现一个Iterator接口,如果我实现它返回标量(在引用http://php.net/manual/en/class.iterator.php之后),我得到了这个错误:
TypeError:Collection :: key()的返回值必须是。的实例 标量,返回整数
课程实施:
class Collection implements \Iterator
{
public function key(): \scalar
{
return key($this->colecao);
}
// other methods implementations...
}
根据PHP参考,整数应被视为标量值(http://php.net/manual/en/migration70.new-features.php):
标量类型声明有两种形式:强制(默认)和 严格。现在可以强制执行以下类型的参数(或者 强制性或严格地):字符串(字符串),整数(int), 浮点数(浮点数)和布尔值(布尔值)。
我的代码中是否存在错误,您的错误是什么?
感谢您的任何解释!