広告スペース(バナー)
🐘PHP レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 21 / 68

Null安全な書き方(??演算子)

このレッスンでは、PHPのNull安全な書き方(??演算子)を学び、値が存在しないデータを安全に扱えるようになることを目標にします。「PHP null合体演算子 使い方」で調べている方向けの内容です。

??(null合体演算子)は、左側がnullや未定義のときだけ右側の値を使います。存在しないかもしれない値に安全にデフォルトを設定できます。存在しない配列のキーにそのままアクセスすると警告が出るため、この演算子で安全に代替値を用意できます。

サンプルコードでは、$user["address"]nullの場合に?? "住所未設定"で代わりの文字列を表示しています。データが欠けている可能性がある場面で、いちいちisset()で確認しなくても安全にコードを書ける便利さを体感してみましょう。

初心者がよくつまずくのが、??||の違いです。||は左側が0や空文字のような「falsyな値」でも右側に切り替わってしまいますが、??nullや未定義のときだけ切り替わります。「点数が0点のときも0を表示したい」ようなケースでは??を使わないと意図しない結果になります。

??=という代入演算子もあり、変数が未定義のときだけ値を代入する、という書き方もできます。APIから返ってくるデータの一部が欠けていることは珍しくなく、実務でとても使用頻度の高い演算子です。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではPHPを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
データが一部欠けていてもエラーにならない、安全な処理が書けるようになります。
広告スペース(バナー)
広告スペース(記事内)