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
dose php5 forbid this usage, the following code doesn't work
class Foo{
public static $data = "abcd";
}
function tt($para = Foo::$data)
{
echo $para;
}
tt ("rcohu");
it reports:
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
函数定义只能包含简单的赋值,不能包含像 Foo::$data 这样的复杂赋值。
只需这样做:
function definitions can only contain simple assignments, not complex ones like Foo::$data.
Just do this: