在我正在开发的PHP Web应用程序中,我看到以两种可能的方式定义的函数。
方法1:
function myfunc($arg1, $arg2, $arg3)
方法二:
// where $array_params has the structure array('arg1'=>$val1, 'arg2'=>$val2, 'arg3'=>$val3) function myfunc($array_params)
什么时候应该使用一种方法来替代另一种方法?看来,如果系统要求不断变化,因此myfunc的参数数量不断变化,则方法1可能需要大量维护。
如果系统变化频繁,以至于使用索引数组是最好的解决方案,那么我想这就是您的后顾之忧。:-)
通常,函数/方法不应使用太多参数(5个加减2是最大值),我想说你应该坚持使用命名(最好是提示类型)参数。(只有大量可选数据时,带索引的参数数组才真正有意义- 一个很好的例子是配置信息。)
正如@Pekka所说的那样,传递一系列参数也很容易记录,因此对于其他人/您自己来说,在n个月内就难以维持。
更新表…
顺便提一句,经常提到的《 代码完整》 一书对这些问题进行了相当详细的研究-这是我强烈推荐的书。