Zi 字媒體
2017-07-25T20:27:27+00:00
在 PHP 5.3 可以透過 ?: 運算子簡單的判斷並賦值
$foo = $bar ?: $baz;
上面的運算式等同:
$foo = $bar ? $bar : $baz;
但是在沒有宣告變數之前仍然會出現錯誤訊息。而 PHP 7.0 開始支援兩個問號 (??) 判斷並賦值,而且不用事先使用 isset() 判斷變數是否存在:
$username = $_GET['user'] ?? 'nobody';
上面的運算式等同:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
而且可以串一個以上的判斷:
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';
References
php – Best way to give a variable a default value (simulate Perl ||, ||= ) – Stack Overflow
PHP: Assign if not empty? – Stack Overflow
PHP: New features – Manual
寫了
5860316篇文章,獲得
23313次喜歡