我刚刚将一些旧的PHP文件上传到新服务器,并且在速记三元操作上遇到了解析错误(意外的':')。例如:
$y = $x ?: "Some default";
php版本是5.2.16,这些速写代码是这些速记?:,所以在更改所有代码之前,我想我会看看是否有人对此有所了解,因为我已经有一段时间没有使用PHP了。
仅从PHP 5.3起可用
表达式(expr1)?(表达式2):(表达式3)的计算结果为表达式2如果expr1的计算结果为TRUE,并且表达式3如果表达式1计算结果为FALSE。
从PHP 5.3开始,可以省略三元运算符的中间部分。如果expr1的计算结果为TRUE,则表达式expr1?:expr3返回expr1 ,否则返回expr3。1个
有关更多上下文,请参见此示例。
或更有用的注释,请注意:http :
//www.php.net/manual/en/control-structures.if.php#102060
1 http://php.net/manual/zh/language.operators.comparison.php
由于您使用的是php 5.2.16,因此您的三进制需要2个选项,例如
$y = $x? "???" : "Some default";
变量=条件?真实价值:虚假价值;
本文地址:http://php.askforanswer.com/phpsujisanyuanyunsuanfujiexicuowuyiwai.html
文章标签:php , php-5.2 , syntax , ternary-operator
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!
文章标签:php , php-5.2 , syntax , ternary-operator
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!
评论已关闭!