PHP7引入的"??"和"?:"的区别讲解
实践出真知~
测试代码
输入测试:
1, 'b'=>2, 'c'=>[], ]; $a=$array['c']??0; $b=$array['c']?:0; $c=$array['d']??0; $d=$array['d']?:0; $e=$array['c']?1:0; $f=isset($array['c'])?1:0; $g=$array['d']?1:0; $h=isset($array['d']['e'])?1:0; $i=!empty($array['c'])?1:0; $j=!empty($array['d'])?1:0; var_dump($a); var_dump($b); var_dump($c); var_dump($d); var_dump($e); var_dump($f); var_dump($g); var_dump($h); var_dump($i); var_dump($j);
输出结果:
PHPNotice: Undefinedindex:din/home/fanyu/abc.phponline11
PHPNotice: Undefinedindex:din/home/fanyu/abc.phponline14
array(0){
}
int(0)
int(0)
int(0)
int(0)
int(1)
int(0)
int(0)
int(0)
int(0)
结论
- $a??0等同于isset($a)?$a:0。
- $a?:0等同于$a?$a:0。
- empty:判断一个变量是否为空(null、false、00、0、'0′、』这类,都会返回true)。
- isset:判断一个变量是否设置(值为false、00、0、'0′、』这类,也会返回true)。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。