我们可以确定php中数组元素的返回类型吗?

时间:2016-04-14 16:34:07

标签: php function return-type php-7

是否可以在函数中确定返回数组的元素类型?

例如,如果元素应该是浮点数:

    app.use(expressSession({
      store: new mongoStore({
          mongooseConnection: mongoose.connection,
          collection: 'session',
      })
   }));

1 个答案:

答案 0 :(得分:2)

不幸的是,你不能像那样输入检查数组的内容。

如果你真的坚持这样做,你可以创建自己的集合类来包装数组并确保其元素的类型:

class FloatCollection
{
    private $array = [];

    public function __construct($array = [])
    {
        foreach ($array as $value) {
            $this->add($value);
        }
    }

    public function add(float $value)
    {
        $this->array[] = $value;
    }

    ...
}

然后你可以输入检查:

public static function doStuff() : FloatCollection
{
    return new FloatCollection([10.3, 12.8]);
}

但对于你想要达到的目标,这可能是一项不必要的工作。