简洁
使用coalescing运算(??)代替isset来减少代码量,省去不必要的代码。在获得某个变量的时候,可以直接给出默认值,而不是先判断是否存在
isset
用例
$page = 1;
if(isset($_GET["page"])){
$page = $_GET["page"];
}
//或者
page = isset($_GET['page']) ? $_GET['page'] : 1
我们经常需要检测一个
coalescing运算(??)
当我们需要使用isset三元运算符的时候,我们可以使用coalescing运算(??)这个语法糖来代替
比如
$page = isset($_GET['page']) ?? 1;
测试代码
$array = [0 => "aaa", 1 => null];
$v0 = $array[0] ?? "emtpy"; // 存在
$v1 = $array[1] ?? "emtpy"; // null
$v2 = $array[2] ?? "emtpy"; // 不存在
echo $v0 . "\n";
echo $v1 . "\n";
echo $v2 . "\n";
echo "==============\n";
var_dump(isset($array[0]));
var_dump(isset($array[1]));
var_dump(isset($array[2]));
输出
aaa
emtpy
emtpy
==============
bool(true)
bool(false)
bool(false)