いつもありがとうございます。
別の方から同じ質問があったので、拝見しましたが、まだ納得できなかったので、質問させてください。
同質問の回答として
今回の場合は Cookie に color がセットされていない場合に NULL を返しますので、 ?? 'transparent' は必要となります。
とありますが、 Cookie がセットされていない場合は、 $colorFromGet で null を tranparent に変換してますし、セットされてからは、 $colorFromGet の transparent を Cookie が受け取るので、 ?? 'transparent' が不要に思えます。
私の認識は以下の通りです。
(1) 未選択の場合は、 $colorFromGet に transparent が代入される。
$colorFromGet = filter_input(INPUT_GET, 'color') ?? 'transparent';
(2) ブラウザ上で、 transparent が Cookie にセットされる。
setcookie('color', $colorFromGet);
(3) result.php → index.php に戻る際、 transparent という値が Cookie にセットされているので、 $color にも transparent が代入される。
$color = $colorFromGet ?? filter_input(INPUT_COOKIE, 'color') ?? 'transparent';
(4) 結果、背景色の規定値(transparent) で index.php は表示されるため、 ?? 'transparent' は不要では??
実際に $color の ?? 'transparent' を付けずに、背景色を未選択で試してみましたが、ソースコードも(4) の状態でエラーが起きていませんでした。( background-color: transparent と表示)
長文となり申し訳ございませんが、ご回答よろしくお願いします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?