在PHP docblock中,花括号和尖括号的类型提示有什么区别?



我在PHP文档块中看到了在数组类型提示时使用的尖括号和大括号。

/**
* @return array<name:int,link:string,items:array<class:string,active:bool>>
*/

/**
*@return array{name:string,active:bool}
*/

我试图在文档的docblock中找到这种类型的类型提示,但一无所获。

有谁能帮我解释一下吗?

在与同事商量后,他大致解释如下:

当你在php文档块中输入一个数组时,你可以使用尖括号<>来指示数组中不同索引的类型。

在关联数组中使用花括号{},在关联数组中指定键及其值的类型。

/**
* Only angle brackets:
* @return array<int,string,bool>
*/

/**
* A combination of curly braces and angle brackets
* @return array{name:string,active:bool,items:array<int,string,bool>}
*/

对于有同样问题的人

最新更新