Featured image of post [PHP] 使用兩個問號 (Null Coalescing Operator) 簡易判斷並賦值

[PHP] 使用兩個問號 (Null Coalescing Operator) 簡易判斷並賦值

在 PHP 5.3 可以透過 ?: 運算子簡單的判斷並賦值

1
$foo = $bar ?: $baz;

上面的運算式等同:

1
$foo = $bar ? $bar : $baz;

但是在沒有宣告變數之前仍然會出現錯誤訊息。而 PHP 7.0 開始支援兩個問號 (??) 判斷並賦值,而且不用事先使用 isset() 判斷變數是否存在:

1
$username = $_GET['user'] ?? 'nobody';

上面的運算式等同:

1
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

而且可以串一個以上的判斷:

1
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';

References

Licensed under CC BY-NC-SA 3.0 TW
comments powered by Disqus