扫码关注官方订阅号
不是该输出null(空)吗?
学习是最好的投资!
就是三元运算符的简单写法,5为真就输出5了。
文档有解释:三元运算符
表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
因为5大于0,所以返回true,php三元表达式省略第二个参数时,判断结果又是true的话,返回第一个参数。
a ? a : b; //可以缩写为 a ?: b; //所以上面句 句子等效为: echo 5 ? 5 : 1 ;
a ?: b; 中,如果 a为表达式则,表达式不会再次执行,而a ? a : b; 若表达式返回ture,则会再次执行一遍
因为5是真啊
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
就是三元运算符的简单写法,5为真就输出5了。
文档有解释:三元运算符
表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。因为5大于0,所以返回true,php三元表达式省略第二个参数时,判断结果又是true的话,返回第一个参数。
a ?: b; 中,如果 a为表达式则,表达式不会再次执行,而a ? a : b; 若表达式返回ture,则会再次执行一遍
因为5是真啊