PHP7 中 ? : 与??的区别
- $a?$a:$b 等价于 !empty($a)? $a:$b;
- $a ?? $b 等价于 isset($a) ? $a:$b;
isset()与empty()的区别
isset()
如果 变量 存在(非NULL)则返回 TRUE,否则返回 FALSE(包括未定义)。变量值设置为:null,返回也是false;
empty()
变量 是非空或非零的值,则 empty() 返回 FALSE,也就是说,""、0、"0"、NULL、FALSE、array()、var $var、未定义; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。