2014年10月23日 06:52:10

PHP三元运算特例

作者: 

本文举例说明下expr1 ?: expr3的使用注意点。

示例

  1. <?php
  2. //执行一次
  3. function test1() {
  4. static $count = 1;
  5. return $count++;
  6. }
  7. //执行两次
  8. function test2() {
  9. static $count = 1;
  10. return $count++;
  11. }
  12. echo test1() ? : 'notest'; //执行一次
  13. echo test2() ? test2() : 'notest'; //执行两次

说明

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

注意到这里,在 expr1 求值为 TRUE 时返回 expr1,这里的意思是直接返回前面执行的结果,而不是再执行一遍,所以,

  1. echo test1() ? : 'notest';

的结果是执行了test1()一遍,而

  1. echo test2() ? test2() : 'notest';

的结果是执行了test2()两遍。



未经同意禁止转载!
转载请附带本文原文地址:PHP三元运算特例,首发自 Zjmainstay学习笔记
阅读( 3776 )
看完顺手点个赞呗:
(4 votes)

1.PHP cURL群:PHP cURL高级技术
2.正则表达式群:专精正则表达式
3. QQ联系(加请说明):QQ联系博主(951086941)
4. 邮箱:zjmainstay@163.com
5. 打赏博主:

网站总访问量: