$variable = (condition) ? value_if_true : value_if_false;
これは条件を評価し、条件が真であればvalue_if_trueの値が代入され、条件が偽であればvalue_if_falseの値が代入されます。
また、?はエラー制御演算子としても使用されます。以下のような形式で使用されます:
$value = $array['key'] ?? 'default';
この場合、$array['key']の値が存在する場合はその値が代入されますが、存在しない場合は'default'が代入されます。
さらに、?はNull合体演算子としても使用されます。以下のような形式で使用されます:
$result = $value1 ?? $value2 ?? $value3;
この場合、$value1がnullでなければその値が代入されます。$value1がnullであれば、$value2が代入されます。$value2もnullであれば、最終的に$value3が代入されます。
これらの演算子は、条件の評価や変数の設定に便利です。適切に使用することで、コードの読みやすさや効率性を向上させることができます。
以下に具体的なコード例を示します:
条件演算子の使用例:
$age = 25;
$message = ($age >= 18) ? '成年です' : '未成年です';
echo $message;
エラー制御演算子の使用例:
$user = getUserFromDatabase() ?? 'ゲスト';
echo $user;
Null合体演算子の使用例:
$username = $user['username'] ?? '名前未設定';
echo $username;
以上が、PHPでの?の意味と使用方法についての解説となります。これらの演算子を適切に活用することで、PHPコードの柔軟性と扱いやすさを向上させることができます。