【问题标题】:PHP: pass internal date() function as function parameter?PHP:将内部日期()函数作为函数参数传递?
【发布时间】:2014-01-13 14:03:41
【问题描述】:

我想知道这是否可能……

function get_event_list( $year = date('Y') ) {

    }

所以我可以像get_event_list(2012) 这样调用这个函数,但是当不添加段落时,它总是会检索当前年份(2014 年)的所有事件;

亲切的问候, 马特

【问题讨论】:

标签: php function date param


【解决方案1】:

实现它的最佳方法是:

function get_event_list( $year = null ) {
    if ( is_null($year) ) {
        $year = date('Y');
    }
}

【讨论】:

    【解决方案2】:

    您不能使用内置函数作为默认参数。

    来自PHP manual

    默认值必须是常量表达式,而不是(例如)变量、类成员或函数调用。

    你需要的可以实现如下:

    function get_event_list($year = null) {
        if(!isset($year)) {
            $year = date('Y');
        }
    }
    

    【讨论】:

      【解决方案3】:

      你可以像这样使参数为空:

      function get_event_list( $year = NULL ){
        $year = is_null( $year) ? date('Y') : $year;
        //Code here
      }
      

      调用此函数的方法是get_event_list(2012)get_event_list()

      【讨论】:

        【解决方案4】:

        你可以这样做

        function get_even_list($year = ""){
            if(empty($year)){
                $year = date('Y');
            }
        
            // Whatever you wann do here
        }
        

        史蒂夫

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-09-26
          • 2021-09-21
          • 2021-05-05
          • 2019-11-23
          • 2011-05-11
          • 2014-01-18
          • 2018-07-06
          • 2021-04-13
          相关资源
          最近更新 更多