bigdaxin 的个人博客 / 0 / 9 / 创建于 3年前 / 更新于 3年前
$a ?? 0 isset($a) ? $a : 0。
$a ?: 0 $a ? $a : 0。
isset():判断是否设置这个变量(值为null或只定义了变量没赋值返回false)empty():判断这个变量是否为空(值为0,’0’,false,[],null,’’ 返回true)
本作品采用《CC 协议》,转载必须注明作者和本文链接
$a ?: 0 相当于 $a ? $a : 0 不要误导
$a ?: 0
$a ? $a : 0
@荒街! $a ?: 0 这个不是等价于 $a ? ' ' : 0 不是吗? 我一直是这么理解的。
$a ? ' ' : 0
@liziyu 如图
$a ?:0;
?:相当于把$a逻辑运算,前提是定义了,
$a??0;
??相当于isset,都是语法糖而已!
判断数组中 是否存在 定义某个值 ,当值为null isset 返回false 可以参考 array_key_exists
是否存在
echo isset($a['b']) ? $a['b'] : 'no'
空值判断
echo $a ? $a : '1'
echo $a['b'] ?? 'no' $a ??= 'no' $a['b'] ?? throw new OffsetDoesNotExist('b');
echo $a ?: '1'
看一遍文档 加深印象
@荒街! 不要想太多,??判断是否设置,其它场景用 ?:
当你不熟悉语法糖的时候, 就写完整的语法。
我要举报该,理由是:
推荐文章: