php5.*与php7.* 区别
2021-03-12 04:27
标签:排序 tencent pes fun return UNC null isset 运算符 null合并运算符 定义常量 // php7中增加了标量类型声明,分为两种模式,强制(默认),严格模式; // 返回类型声明,返回类型声明为string echo 1 1; // 相等 0 TODO:未完待续 php5.*与php7.* 区别 标签:排序 tencent pes fun return UNC null isset 运算符 原文地址:https://www.cnblogs.com/blue-t/p/14513421.html
$username = isset($_GET[‘user‘]) ? $_GET[‘user‘] : ‘nobody‘;
$username = $_GET[‘user‘] ?? ‘nobody‘; // 等同于上句操作
// 合并操作
$username = $_GET[‘user‘] ?? $_POST[‘user‘] ?? ‘nobody‘;
define(‘IT‘, [‘sina‘, ‘baidu‘, ‘tencent‘]);
echo IT[0]; // sina
// ... 可变数量的参数 5.6添加
// declare(strict_types=1); 1:严格模式,0:弱类型(默认)
// declare(strict_types=0); 当为1时会报参数错误
// 标量类型声明,参数声明为 int
function sumOfInts(int ...$ints)
{
return array_sum($ints);
}
var_dump(sumOfInts(2, 3, 4.1)); // int(9)
function sumOfInts(int ...$ints) : string
{
return array_sum($ints);
}
var_dump(sumOfInts(2, 3, 4.1)); // string(1) "9"
// 太空船操作符(组合比较符)
// 太空船操作符用于比较两个表达式。当$a小于、等于或大于$b时它分别返回-1、0或1
// 可用配合排序使用
echo "\r\n";
echo 1 2; // 小于 -1
echo "\r\n";
echo 1 0; // 大于 1$things = [
[
‘foo‘ => 2,
‘bar‘ => ‘b‘
],
[
‘foo‘ => 3,
‘bar‘ => ‘c‘
],
[
‘foo‘ => 1,
‘bar‘ => ‘a‘
]
];
usort($things, function ($a, $b) {
return $a[‘foo‘] $b[‘foo‘];
});
print_r($things);
Array
(
[0] => Array
(
[foo] => 1
[bar] => a
)
[1] => Array
(
[foo] => 2
[bar] => b
)
[2] => Array
(
[foo] => 3
[bar] => c
)
)