太空船操作符 <=>
$a <=> $b 返回 -1,0,1
echo "太空船操作符:";
echo 1 <=> 2; // 1
echo 1 <=> 1; // 0
echo 2 <=> 1; // -1
null 合并操作符
$page = isset($_GET['page']) ? $_GET['page'] : 0 ;
$page = $get['page'] ?? 0;
echo "合并操作符" . $page;
强制类型声明
declare(strict_types = 1);
namespace 批量导入
use Space \ { ClassA,ClassB,ClassC };
throwable接口
try{
undefinefunc();
}catch(Error $e){
var_dump($e);
}
// 返回一个带有error的object
set_exception_handler(
function($e){
var_dump($e);
}
);
undefindfunc();
echo "<br>";
// 返回一个带有error的object
Closure::call()
class Test{
private $num = 1;
}
$f = function(){
return $this->num + 1;
};
echo $f->call(new Test);
echo "<hr/>";
intdiv函数
echo intdiv(10,3); //return 3
list 的方括号写法
$arr = [1,2,3];
list($a,$b,$c) = $arr;
[$a, $b, $c] = $arr;