首页 > 解决方案 > PHP docblock中类型提示的花括号和尖括号有什么区别?

问题描述

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

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

或者

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

我试图在 de docblock 文档中的 docblocks 中找到有关类型提示的内容,但找不到任何东西。

谁能帮我解决这个问题。

标签: phpdocblocks

解决方案


所以在咨询了一位同事之后,他大致解释如下:当您在 php docblock 中键入提示数组时,您使用尖括号<>来指示数组中不同索引处的类型。您将花括号{}用于关联数组,您可以在其中指定键值和类型值。

/**
 * 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>}
 */

对于任何有同样问题的人


推荐阅读