如何使用子数组(混合类型)记录数组?

Gui*_*nto 5 php arrays documentation-generation

要记录一个变量,该变量可以接受一个接收值为字符串的向量的数组:

/*
 * @var string[] An array of string objects.
 */
$foo = array('A', 'B', 'C');
Run Code Online (Sandbox Code Playgroud)

要记录一个变量,该变量可以接受一个接收值为整数的向量的数组:

/*
 * @var int[] An array of string objects.
 */
$foo = array(1, 5, 0);
Run Code Online (Sandbox Code Playgroud)

我应该如何记录其值为混合数组的变量?

我需要文档这样的数组:

$foo = array(
    array('value A',  1, $this),
    array('value b',  2, NULL),
    array('value X', 15, new Test)
);
Run Code Online (Sandbox Code Playgroud)

我想它是这样的:

/*
 * @var array[][string|int|object|null] Description.
 */
Run Code Online (Sandbox Code Playgroud)

小智 4

根据PHPDoc 的当前草案(图 PSR-5 申请人), @var 标签已被弃用。他们建议改用@type 标签

变量的类型仍然是数组;该数组的内容将在描述中简要提及。

/**
 * @var array $foo An array of string elements.
 */
Run Code Online (Sandbox Code Playgroud)

或者

/**
 * @type array $foo An array of string elements.
 */
Run Code Online (Sandbox Code Playgroud)

如果变量可能包含字符串以外的内容,我可能会说An array of mixed elements.,或者如果我具体知道它们可能是什么An array of bool|string|object elements.

如果变量本身可能有多种类型,我会给出它可能的类型列表。

/**
 * @type bool|string|array $foo Mixed type, depending on result of baz().
 */
Run Code Online (Sandbox Code Playgroud)