PHP7 引入的“??” 和“?:”的区别
2020-03-27 本文已影响0人
众神开挂
直接亮出结论:
$a ?? 0 等同于 isset($a) ? $a : 0;
$a ?: 0 等同于 !empty($a) ? $a : 0。
empty: 判断一个变量是否为空(null、false、00、0、'0′)这类,都会返回true);
isset: 判断一个变量是否设置(值为false、00、0、'0′)这类,也会返回true);
直接亮出结论:
$a ?? 0 等同于 isset($a) ? $a : 0;
$a ?: 0 等同于 !empty($a) ? $a : 0。
empty: 判断一个变量是否为空(null、false、00、0、'0′)这类,都会返回true);
isset: 判断一个变量是否设置(值为false、00、0、'0′)这类,也会返回true);