静态成员不能用作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