为函数编写 PHP 文档时,如果该函数返回一个值,您将编写类似
@return array $someArray An array of formatted dates
但是假设我的函数不返回值,而是修改作为引用传递的原始值,如下所示:
function formatDates(&$input_arr){
/**
* Formats an array of dates
* @param array $input_arr An array of raw dates
*/
array_walk_recursive($input_arr, 'formatDateFunction');
}
此函数修改输入数组。
我知道参数前面的
&
很明显,但返回值也很明显,前面的 return
也很明显,所以我觉得这可能有一个标准?
目前,我只是在功能描述中提到它,例如:
/**
* Formats an array of dates, modifies original array
PHP 文档中是否有一种常用的方式来声明函数修改输入值?或者通常只是暗示?
像这样
* @param array &$array modified parameter array of dates
根据PHPstan的设置通过引用传递的参数类型文档:
在 PHPStan 1.9.0 中可用
PHPDoc标签
可用于设置通过引用传递的参数类型:@param-out
所以你只需使用这个语法:
function formatDates(&$input_arr){
/**
* Formats an array of dates
*
* @param-out array &$input_arr An array of raw dates
*/
array_walk_recursive($input_arr, 'formatDateFunction');
}
相关问题: