覚書です。
目次
【PHP】Null合体演算子の空文字対応
??
はnullのみを検出しますが、?:
は偽値(false、0、”、null、[]など)全てを検出します。
// 三項演算子のサンプル
$age = 20;
$status = ($age >= 18) ? "成人" : "未成年";
echo $status; // 出力: 成人
// Null合体演算子のサンプル
$name = null;
$displayName = $name ?? "ゲスト";
echo $displayName; // 出力: ゲスト
$emptyString = "";
$result = $emptyString ?? "デフォルト値";
echo $result; // 出力: (空文字列)
// Null合体代入演算子のサンプル
$username = "";
$displayUsername = $username ?: "匿名ユーザー";
echo $displayUsername; // 出力: 匿名ユーザー
// 設定ページの値を使用する場合のサンプル
$options = [
'font_color' => '', // 未設定の場合
'font_size' => '24',
'font' => null
];
$text_color = $options['font_color'] ?: '#000000';
echo $text_color; // 出力: #000000
$font_size = $options['font_size'] ?: '48';
echo $font_size; // 出力: 24
$font_name = $options['font'] ?: 'default_font.ttf';
echo $font_name; // 出力: default_font.ttf
ご参考になれば幸いです。
コメント