是否有“函数修改按引用传递的参数”的 PHP 文档语法?

问题描述 投票:0回答:2

为函数编写 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 文档中是否有一种常用的方式来声明函数修改输入值?或者通常只是暗示?

php documentation
2个回答
18
投票

像这样

* @param array &$array modified parameter array of dates


0
投票

根据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');
     }

相关问题:

© www.soinside.com 2019 - 2024. All rights reserved.