33

Rubyでは、変数のデフォルト値を簡単に設定できます

x ||= "default"

上記のステートメントは、x が nil または false の場合、x の値を「デフォルト」に設定します。

PHPに同様のショートカットがありますか、それとも長い形式を使用する必要がありますか:

$x = (isset($x))? $x : "default";

PHPでこれを処理する簡単な方法はありますか?

4

5 に答える 5

45

PHP 5.3 以降では、中間の引数を省略して三項演算子を使用できます。

$x = $x ?: 'default';
于 2011-02-03T12:54:27.423 に答える
8
isset($x) or $x = 'default';
于 2008-10-02T15:48:21.350 に答える
2

関数でラップします。

function default($value, $default) {
    return $value ? $value : $default;
}
// then use it like:
$x=default($x, 'default');

一部の人々はそれを好まないかもしれませんが、クレイジーな関数呼び出しを行っている場合でも、コードをきれいに保つことができます。

于 2008-10-02T18:40:19.300 に答える
0

あなたの長い形式はすでにphpのショートカットになっていると思います...読みにくいので、私はそれを使用しません

注意点: symfony フレームワークでは、ほとんどの "get" メソッドには、デフォルト値を定義するための 2 番目のパラメーターがあります...

于 2008-10-02T15:47:29.653 に答える