7 PHP運算符

X!==y  絕對不等於

PHP7+ 版本新增整除運算符 intdiv(),使用實例:

<?php

var_dump(intdiv(10, 3));

?>

輸出:int(3)

 

<?php

$x = array("a" => "red", "b" => "green");

$y = array("c" => "blue", "d" => "yellow");

$z = $x + $y; // $x 和 $y 數組合並

var_dump($z);

var_dump($x == $y);

var_dump($x === $y);

var_dump($x != $y);

var_dump($x <> $y);

var_dump($x !== $y);

?>

結果:

array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" } 
bool(false) 
bool(false) 
bool(true) 
bool(true) 
bool(true)

 

(expr1) ? (expr2) : (expr3)

expr1 求值爲 TRUE 時的值爲 expr2,在 expr1 求值爲 FALSE 時的值爲 expr3

PHP 5.3 起,可以省略三元運算符中間那部分。表達式 expr1 ?: expr3 expr1 求值爲 TRUE 時返回 expr1,否則返回 expr3

<?php

$test = '菜鳥教程';

// 普通寫法

$username = isset($test) ? $test : 'nobody';

echo $username, PHP_EOL;

 

// PHP 5.3+ 版本寫法

$username = $test ?: 'nobody';

echo $username, PHP_EOL;

?>

注意:PHP_EOL 是一個換行符,兼容更大平臺。

PHP7+ 版本多了一個 NULL 合併運算符 ??,實例如下:

<?php

// 如果 $_GET['user'] 不存在返回 'nobody',否則返回 $_GET['user'] 的值

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

// 類似的三元運算符

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

?>

PHP7+ 支持組合比較符(combined comparison operator)也稱之爲太空船操作符,符號爲 <=>。組合比較運算符可以輕鬆實現兩個變量的比較,當然不僅限於數值類數據的比較。

語法格式如下:

$c = $a <=> $b;

解析如下:

  • 如果 $a > $b,  $c 的值爲 1
  • 如果 $a == $b,  $c 的值爲 0

如果 $a < $b,  $c 的值爲 -1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章