PHP 7.1返回标量的类型数组

时间:2018-09-26 13:38:25

标签: php

在最近转向PHP 7.1之后,我想利用更新的功能,例如返回类型。尝试使用具有7.1语法的phpstorm返回标量类型的数组,看来返回数组或对象数组是唯一接受的列表返回类型。

/**
 * @return int[]
 */
public function findFoo(): int[] //syntax error

是否存在严格定义标量返回类型的最佳实践,例如本例中的整数数组?

2 个答案:

答案 0 :(得分:2)

对于当前的数组实现,由于数组本身不包含任何类型信息,因此需要在运行时检查所有数组元素。

所以使用这个:

/**
 * @return array
 */
public function findFoo(): array //syntax error

答案 1 :(得分:0)

由于PHP数组像变量一样是“多类型的”,因此无法定义数组的类型。

也就是说,您必须将返回类型定义为array

/**
 * @return array
 */
public function findFoo(): array

这是有效的代码。