【PHP】三項演算子とnull合体演算子の使い方

PHP

PHPの三項演算子とnull合体演算子の書き方を紹介します。
三項演算子を使うと、条件分岐を省略して記述することができます。
null合体演算子は、値が設定されているときは特に何もしないといったケースで、条件分岐を省略して記述できます。

通常の条件分岐

<?php 
$animals = [
  'monkey' => 20,
];

if(isset($animals['monkey'])) {
  $animals['monkey'] *= 20;
} else {
  $animals['monkey'] = 0;
}
echo $animals['monkey'];
//400

isset()で、連想配列に指定したキーがある場合とない場合で条件分岐しています。
これを三項演算子を使うと以下のようになります。

三項演算子を使った条件分岐

<?php 
$animals = [
  'monkey' => 20,
];

// 三項演算子
// 変数 = 条件 ? trueのとき : falseのとき;
$animals['monkey'] = isset($animals['monkey']) ? $animals['monkey'] *= 20 : 0;
echo $animals['monkey'];
//400

上のように、三項演算子を使うと、一行で記述することができます。

null合体演算子の使い方

条件分岐で、値が設定されているときは特に何もしない場合などに使うことができます。

<?php 
$animals = [
  'monkey' => 20,
];

if(isset($animals['monkey'])) {
  // 値がある場合は何もしない
} else {
  $animals['monkey'] = 0;
}
echo $animals['monkey'];
//400

// null合体演算子
// 変数 = 条件 ?? nullのとき;
$animals['monkey'] = $animals['monkey'] ?? 1;

上のように、null合体演算子を使うと、
条件がnullのとき、??の右の値を代入することができます。
null以外のときは、その変数をそのまま代入、つまり値を変化させません。

PHP

Posted by devsakaso