<code class="language-meta">project: blog target: null-coalesce-operator-in-php.md date: 2015-12-30 status: publish tags: - Null Coalesce - PHP categories: - PHP </code>
null 合体演算子を使用すると、パラメーターを簡単に取得して、それが空の場合にデフォルト値を提供できます。たとえば、js で ||
を使用できます:
PHP では、残念ながら PHP ||
总是返回true
或false
は常に true
または false
を返すため、この方法では実行できません。
PHP7 は ??
演算子のみを正式に追加しました:
PHP7 は実稼働環境で使用されるまでに長い時間がかかると推定されています。では、現在の PHP5 に代わるものはありますか?
調査によると、非常に便利な代替手段があります:
-- このコードを実行します: https://3v4l.org/aDUW8
目を丸くして見ると、前の PHP7 の例と似ていますが、主に ??
替换为了 ?:
。 这个是个什么鬼呢?其实这就是 (expr1) ? (expr2) : (expr3)
を ?:
に置き換えています。 これはなに?実際、これは (expr1) ? (expr2) : (expr3)
式の省略パターンです:
もちろん、この代替案は完璧ではありません - $_GET
中没有 'user'
,会有一条 Notice: Undefined index: user
的错误,所以需要用@
来抑制这个错误,或者关闭 E_NOTICE
が間違っている場合。