在最近迁移到 PHP 7.1 之后,我想利用更新的功能,例如返回类型。尝试返回标量类型的数组,使用 phpstorm 和 7.1 语法,似乎返回数组或对象数组是唯一接受的列表返回类型。
/**
* @return int[]
*/
public function findFoo(): int[] //syntax error
是否有严格定义标量返回类型的最佳实践,例如此示例中的整数数组?
对于当前的数组实现,它需要在运行时检查所有数组元素,因为数组本身不包含类型信息。
所以使用这个:
/**
* @return array
*/
public function findFoo(): array //syntax error
由于 PHP 数组像变量一样是"多类型"的,因此您无法定义数组的类型。
也就是说,您必须将返回类型定义为array
:
/**
* @return array
*/
public function findFoo(): array
这将是一个有效的代码。