?: の後ろにデフォルト値
$a = @$arg ?: 1;
echo $a; // 「1」と表示される
$arg = 99;
$a = @$arg ?: 1;
echo $a; // 「99」と表示される
$arg = null;
$a = @$arg ?: 1;
echo $a; // 「1」と表示される
$arg = -1;
$a = @$arg ?: 1;
echo $a; // 「-1」と表示される
やっていることは
if ( $arg ){
// ....
}
なので、
この場合は注意が必要です。
$arg = 0;
$a = @$arg ?: 1;
echo $a; // 「1」と表示される