0

有点棘手的问题,但是如果您稍后必须修改脚本以添加第三个可选参数,这可以节省大量时间,而第二个也是可选的,并且大多数情况下它被用作未设置的第二个参数,现在当您添加第三个时参数您必须到处扫描以找到代码片段并添加/设置第二个,然后添加第三个..

有没有简单的方法来做到这一点?

例子 :

  public static function result($sql, $i = 0, $r = 0) {
  //code
  } 

如果我们需要添加第三个 $r,稍后和大多数情况下,如果代码被用作

 result($sql);

现在到处我不得不扫描和做

 result($sql,0,10);

有没有一种简单的方法来设置第三个参数而不设置第二个参数?

4

2 回答 2

2

不,这是不可能的,但是您可能需要考虑将可选参数设置为 null,然后在函数中设置默认值。

例如:

public static function result($sql, $i = null, $r = null) {
   if(is_null($i)){
       $i="default";
   }
   ... etc
} 

这样,您可以在函数中维护默认值,而不必在整个代码库中复制它。

于 2012-06-28T09:33:57.507 回答
0

添加一组可能的参数

public static function result($sql, $settings=null) {
  if(is_array($settings) {
    if(isset($settings['i']) {
       // condition code
    }
    if(isset($settings['r']) {
      // condition code
    }
  }
  // normal code
} 
于 2012-06-28T09:33:13.733 回答