十二月
16
2015

笔记015 PHP中?:的特殊用法

对PHP有了一定了解的程序猿们,看到 ?: 这个东西的时候,并不会感到陌生,他就是很牛逼的一个语法结构:三目运算符。

三目运算符的用法如下:

(expr1) ? (expr2) : (expr3)

expr1true 的时候,将会返回 expr2 的值,当 expr1false 的时候,将会返回 expr3 的值。

不过从 PHP 5.3 版本开始,三目运算符已经不限于上面的运算方式了。他还可以这样用:

(expr1) ?: (expr2)

也就是将 ?: 连在一起了。 如果采用这种用法,则当 expr1true 的时候,将会返回 expr1 本身,当 expr1false 的时候,着返回 expr2 的值。

这是一个相当有用的写法,所以 Hy369 就迫不及待地要把这个写入自己的 PHP博客中,以方便各位朋友知晓了!

特别提醒: 注意三元运算符是个语句,因此其求值不是变量,而是语句的结果。如果想通过引用返回一个变量这点就很重要。在一个通过引用返回的函数中语句 return $var == 369 ? $a : $b; 将不起作用,以后的 PHP 版本会为此发出一条警告。

非特殊注明博文为 爱PHP吧(www.iphp8.com)原创内容,转载请注明原文地址:http://www.iphp8.com/?post=73

评论

发表评论:

(选填)

(选填)