【问题标题】:Trimming a parameter in the function header修剪函数头中的参数
【发布时间】:2009-10-31 11:13:31
【问题描述】:

函数头是这样的

function doit($theparam){
  //$theparam is untrimmed

  $theparam = trim($theparam);

  //$theparam is now trimmed

}

是否可以在第一行本身进行修剪?我尝试了这两个,但都没有成功。

function doit( trim($theparam) ){
  //access trimmed version
}

function doit( $theparam = trim($theparam) ){
  //access trimmed version
}

我有几个函数,都是从修剪开始的。如果我能在更少的行中做到这一点,我会很高兴。

【问题讨论】:

    标签: php function


    【解决方案1】:

    这在 php 4.x 或 5.2 中是不可能的。 您不能将函数用作另一个函数的默认参数。 5.3 支持闭包,看起来很像 sn-p jitter 写的。

    如果您在同一个类中有多个方法需要特殊格式的字符串,那么为此目的创建一个实用函数是有意义的。 如果您稍后发现需要额外的格式,您只需更改一个方法。

    【讨论】:

      【解决方案2】:

      不,你不能这样做。

      PS:你为什么要做那样的事情?

      编辑:为了节省空间,您可以执行以下操作:

      function doit($theparam) { $theparam = trim($theparam);
        //access trimmed version
      }
      

      【讨论】:

      • 只是一个节省空间的东西。我有10个函数,都是从那一行开始的,我觉得代码可以整理一下。
      【解决方案3】:

      去做吧。

      function doit($theparam){$theparam=trim($theparam);
      }
      

      ;-) 开个玩笑。我认为在函数参数大括号内没有办法做到这一点

      【讨论】:

        【解决方案4】:

        函数参数从何而来?如果可能的话,将它们包装到一个能够返回已修剪值的对象中。

        【讨论】:

          猜你喜欢
          • 2017-05-08
          • 1970-01-01
          • 2014-01-22
          • 2022-11-29
          • 2012-05-23
          • 2023-03-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多