Php7版本后的新特性
嘻嘻发布于2020-04-18
最后更新于2020年3月9日
浏览PHP 7显著地改进了整体性能。确实有一些主要的特性,比如空合并操作符或返回类型声明。如果您不知道,可以通过查看文档去了解它们。
下面是一些可能有用的不太为人所知的特性。
命名空间
//before php7
use Universe\Saiyan;
use Universe\SuperSaiyan;
//in php7
use Universe\{Saiyan, SuperSaiyan};
常量数组
define('NAMES', [
'first' => 'John',
'middle' => 'Fitzgerald',
'last' => 'Kennedy'
]);
echo NAMES['last']; //displays "Kennedy"
太空船船操作符<=>
- 0: 相等
- 1: 左边的值大
-
-1: 右边的值大
$actressesWithAcademyAwards = [
[ ‘name’ => ‘Katharine Hepburn’, ‘awards’ => 4 ],
[ ‘name’ => ‘Jessica Lange’, ‘awards’ => 2 ],
[ ‘name’ => ‘Meryl Streep’, ‘awards’ => 3 ],
[ ‘name’ => ‘Cate Blanchett’, ‘awards’ => 2 ],
];
usort($actressesWithAcademyAwards, function ($a, $b) {
return $a[‘awards’] <=> $b[‘awards’];
});print_r($actressesWithAcademyAwards);
数组第一/最后一键【php7.4】
$array = [ 'v' => 1, 'i' => 2, 'p' => 3 ];
$firstKey = array_key_first($array);
$lastKey = array_key_last($array);
print_r($firstKey); // v
print_r($lastKey); // p
扩展操作符【php7.4】
$abc = range('a', 'c');
$def = range('d', 'f');
$ghi = range('g', 'i');
$all = [...$abc, ...$def, ...$ghi, 'j'];
print_r($all);
//output
/*
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
[5] => f
[6] => g
[7] => h
[8] => i
[9] => j
)*/
Arrow 函数【php7.4】
$c = 3;
$addC = fn($x) => $x + $c;
echo $addC(70); // 73
常量访问控制
class Mother {
private const ERROR_LEVEL_1 = 'achtung';
}