【问题标题】:PHP Time() function in Class method类方法中的 PHP Time() 函数
【发布时间】:2014-04-25 20:26:51
【问题描述】:

我有一个类Convert 有一个函数date

<?php
    class Convert{
        public static function datum($timestamp = time()){
            //When $timestamp isn't set use php function time()

           return(date("N" , $timestamp));
        }
    }
?>

//run method
Convert::datum();

这不起作用我收到一个错误: Parse error: syntax error, unexpected '(', expecting ')' in .... on line 3 (function line) ;
函数时间好像没有重新计算。

【问题讨论】:

  • 您不能将函数作为默认值。将其移至您的方法中。
  • 你是什么意思?
  • 他的意思是time()是一个函数,你不能把函数作为默认值,你现在是这样的。

标签: php function class methods time


【解决方案1】:

改变

class Convert{
    public static function datum($timestamp = time()){ // <-- no functions allowed in here
        //When $timestamp isn't set use php function time()

       return(date("N" , $timestamp));
    }
}

进入

class Convert{
    public static function datum($timestamp = NULL){

        //When $timestamp isn't set use php function time()
        $timestamp = ($timestamp !== NULL ? $timestamp : time());

        return(date("N" , $timestamp));
    }
}

在声明函数时,参数只能接受空数据类型或数据。该参数不能设置为接受函数的返回,也不能是动态的。

public static function datum($timestamp = NULL){
public static function datum($timestamp = 13524564){
public static function datum($timestamp = '423432'){
public static function datum($timestamp = array()){
public static function datum($timestamp = FALSE){
public static function datum($timestamp = TRUE){

不好

public static function datum($timestamp = time()){
public static function datum($timestamp = (8*2)){
public static function datum($timestamp = $this->someValFromThisClass){
public static function datum($timestamp = 123, $new = $timestamp){

【讨论】:

  • 不客气。查看我的更新以获得更全面的解释
猜你喜欢
  • 1970-01-01
  • 2012-04-21
  • 2021-10-02
  • 1970-01-01
  • 2013-03-08
  • 1970-01-01
  • 2010-10-04
  • 2017-09-08
  • 1970-01-01
相关资源
最近更新 更多