在PHP函数中将类变量称为默认参数

Jac*_*ney 4 php function optional-parameters

我希望在我的类中有一个具有默认参数的函数,以便在需要时可以省略参数.我希望默认值是存储在我的类中的变量;

嗨,为什么这会在Aptana中显示错误消息?

class property{
    private $id;
    function load_data($id = $this->id){
        //...blah blah blah
    }
}
Run Code Online (Sandbox Code Playgroud)

我应该改用

class property{
    static $id;
    function load_data($id = self::id){
        //...blah blah blah
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助

Joh*_*nde 9

我很确定你不能做你想要的.相反,您应该只检查参数是否有值,如果没有,则指定默认值,即object属性.

class property{
    private $id;
    function load_data($id = null){
        $id = (is_null($id)) ? $this->id : $id;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 三元获胜. (2认同)