??與?:的區別

白小二發表於2021-04-27

?? 前面判斷返回 bool 表示狀態,true 等式等於前面的值,false 等式等於後面的值
?:只判斷值,值為真則使用前面的值,否則使用後面的
$a?? 相當於 isset($a)?$a:

<?php
$a = 0;
echo false; //無
echo $a==1 ?? 2;//無
echo $a ?? 2;//0
echo $a ?: $a = 2;//2

echo $b ?? $b = 2;//2
echo $b ?: $b = 2;//2
本作品採用《CC 協議》,轉載必須註明作者和本文連結
保持專注