编程语言
首页 > 编程语言> > 静态成员不能用作PHP5中的默认函数参数?

静态成员不能用作PHP5中的默认函数参数?

作者:互联网

剂量php5禁止此用法,以下代码不起作用

class Foo{
    public static $data = "abcd";
}

function tt($para = Foo::$data)
{
    echo $para;
}

tt ("rcohu");

它报道:

PHP Parse error:  syntax error, unexpected T_VARIABLE, expecting T_STRING in /home/jw/sk/sk.php on line 6

Parse error: syntax error, unexpected T_VARIABLE, expecting T_STRING in /home/jw/sk/sk.php on line 6

解决方法:

function tt($para = Foo::$data)
{
    echo $para;
}

函数定义只能包含简单的赋值,而不是像Foo :: $data这样复杂的赋值.

这样做:

function tt($para = false)
{
    if(!$para) $para = Foo::$data;
    echo $para;
}

标签:php,parameters,static-members
来源: https://codeday.me/bug/20190827/1737847.html