I\'m struggling to write readable and easy to understand documentation that describes the multi-tree structure for Array options that are passed to a function.
Here
Among widely accepted key type documenting formats, I'd like to mention few popular ones here:
/** @param array{foo: string, bar: int} $args */
as a bonus, can also be used for static code analysis with their tools
/**
* @param array $args {
* Optional. An array of arguments.
*
* @type type $key Description. Default 'value'. Accepts 'value', 'value'.
* (aligned with Description, if wraps to a new line)
* @type type $key Description.
* }
*/
and both are supported by deep-assoc-completion plugin