エンジニアのひよこ_level10

【毎日更新!】新卒3年目エンジニアブログです!

エルビス演算子(?:)で代入とかをスマートに書く【739日目】

if文で代入を書く

if ($user) {
    $item = $user;
} else {
    $item = $request['user'];
}

もし、$userがtrue相当だったときには$userを代入し、
そうでなければ別な値を使う。

よく書くif文ですね。

if ($user) {
    return $user;
} else {
    return $request['user'];
}

こんなのもありますね。

これをエルビス演算子をつかって書き換える

エルビス演算子で書き換え

$item = $user ?: $request['user'];

これですっきり。

おまけ: null合体演算子

undefinedとかを考慮してissetを使いたい場合は、null合体演算子を使うと良さそう

$item = $user ?? $request['user'];