1. ホーム
  2. php

[解決済み] 変数にデフォルト値を与える最良の方法(Perlのシミュレーション||, ||= )

2022-05-02 10:42:19

質問

Perlでこういうことをするのが好きなんです。 $foo = $bar || $baz を代入して $baz$foo もし $bar は空か未定義です。また $foo ||= $bletch を割り当てるだけです。 $bletch$foo もし $foo が定義されていない、または空である場合。

このような状況での三項演算子は、面倒で疲れる。きっとPHPにはシンプルでエレガントな方法があるのでしょう?

それとも、isset()を使ったカスタム関数が唯一の答えなのでしょうか?

どのように解決するのですか?

PHP 7 では、ようやくこれをエレガントに実行する方法があります。これは Null合体演算子 . こんな風に使うことができます。

$name = $_GET['name'] ?? 'john doe';

と同等です。

$name = isset($_GET['name']) ? $_GET['name']:'john doe';