php7新特性以及?與??的區別( 表達式中三元表達式和 isset()的情況...)

1,表達式中三元表達式和 isset()的情況
// 如果 $_GET['user'] 不存在返回 'nobody',否則返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
// 類似的三元運算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

$i=$j??$k;

等同於 $i=isset($j)?$j:$k;

$a=$c?:$b;

等同於 $a=$c?$c:$b;

如果$b爲真則將$c賦值於$a 否則將$d賦值於$a,同學們可不要弄混了哦

2,太空船操作符(組合比較符)

太空船操作符。就是看兩個表達式值的大小,三種關係: = 返回0、< 返回-1、 > 返回 1

// 整型
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// 浮點型
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1

3,通過 define() 定義常量數組

define('ANIMALS', [
    'dog',
    'cat',
    'bird'
]);

echo ANIMALS[1]; // 輸出 "cat"

4.PHP 7 新增加了 intdiv() 函數,接收兩個參數,返回值爲第一個參數除於第二個參數的值並取整

<?php 
echo intdiv(9,3),PHP_EOL; 
echo intdiv(10,3),PHP_EOL; 
echo intdiv(5,10),PHP_EOL; 
?>

輸出:

3
3
0

 

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