PHP默认参数值


PHP Default Argument Value

我需要一个带有默认参数值的PHP函数,我不需要默认参数的字符串值。

我需要调用其他一些函数作为默认参数值

例如:

class main {
    public function get_Date(){
      date_default_timezone_set('America/New_York');
      return date('Y');
    }
   // My problem is here !
  public function display_Time ($time = $this->get_Date()){
    return $time ;
  }
}

我无法将get_Date()值转换为$time变量作为默认参数值。

请帮助我。

class main {
    public function get_Date($tz = 'America/New_York'){
      date_default_timezone_set($tz);
      return date('Y');
    }
  public function display_Time ($time = null){
    return $time ? $time : $this->get_Date();
  }
}

这是正确的调用,尽管它没有意义

$time = $this->get_Date();
 public function display_Time ($time){
    return $time ;
  }

解决方法:

public function display_Time ($time = null){
  if (null === $time) $time = $this->get_Date();
  return $time ;
}