php三元运算符简述

php的三元运算符有几种写法:

$arr = [1,2];

1、??    运算符(合并运算符)

此运算符是php7加入的,用于执行isset(),如果已设置,即使值是为空,也返回对应值。

如果想判断变量是否设置并且返回对应变量值:$arr ?? '数组为空';   因为$arr为[1,2],所以此处返回$arr,即[1,2]

如果想判断变量是否设置并返回对应的Boolean值:[] !== $arr ??false;  因为$arr为[1,2],所以此处返回true

综上,可以看出此运算符是判断前面运算值,并返回对应的结果。

2、?:    运算符(条件运算符)

此运算符是判断是否为空,且变量必须已设置。

同合并运算符一样,有两种取值方式:

如果想要判断变量是否为空且返回对应变量值:$arr ?: 0;  因为$arr为[1,2],所以此处返回[1,2]

如果想判断变量是否为空并返回对应的Boolean值: !empty($arr) ?: false;  因为$arr为[1,2],所以此处返回true

3、? do something : do something else     运算符

和条件运算符一样,此运算符是判断是否为空,且变量必须已设置。不同点是此运算符返回值是自己定义的。

如:!empty($arr) ? '数组不为空' : '数组为空';        因为$arr为[1,2],所以此处返回值是 数组不为空。


其实以上只是简单地列举了三个运算符常见的用法,如果想要了解其他用法,可以在网上查找。

你可能感兴趣的:(php三元运算符简述)