PHP 速记三元运算符“?:”解析错误意外“:”
我刚刚将一些旧的 PHP 文件上传到新服务器,并且在速记三元操作中遇到解析错误(意外的“:”)。例如:
$y = $x ?: "Some default";
php 版本是 5.2.16 代码中充斥着这些简写 ?: ,所以在更改它们之前,我想看看是否有人知道这件事,因为我已经有一段时间没有使用 PHP 了。
I've just uploaded some old PHP files to a new server and am getting parse errors (Unexpected ':') on shorthand ternary ops. eg:
$y = $x ?: "Some default";
php version is 5.2.16 The code is littered with these shorthand ?:, so before changing them all I thought I'd see if anyone knows anything about this as I've not used PHP for a while now.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
仅自 PHP 5.3 起可用
参见 此示例了解更多上下文。
或者更有用但请在评论中注明:
http://www.php.net/manual/en/control -structs.if.php#102060
1http://php.net/manual/en/language.operators.comparison.php
This is only available since PHP 5.3
See this example for more context.
or a more useful but note in the comments:
http://www.php.net/manual/en/control-structures.if.php#102060
1http://php.net/manual/en/language.operators.comparison.php
由于您使用的是 php 5.2.16,因此您的三元需要 2 个选项,例如
Variable = condition ?真值:假值;
Since you are using php 5.2.16, your ternary requires 2 options e.g
Variable = condition ? true value : false value ;