使用了PHP7也有一段时间了,之前使用的是5.3,对比一下,相对于老版本(5.3),不仅仅是性能快哦,同时也发现,书写方式上更简单一些,最起码不用每次都写array,直接一个在[] 表示,挺happy。哈哈,现在将遇到的新特性总结归纳一下。
- 数组的声明更简单 $a=[];
##相比较原来的,现在直接用中括号,简单迅捷
$temp=array();
$temp=[];
- 参数类型声明
function test(int $num){
return $num;
}
var_dump(test(2));
这里增加了int验证,调用的时候传参可不能随意了哦
- 增加返回值类型声明
function test(int $num):array
{
return [$num];
}
var_dump(test(2));
注意看,返回的时候,限制了返回结果是array类型
- 多参数模式下简单化
function arrlist(array ...$arrs):array{
return array_merge($arrs);
}
print_r(arrlist(['a'],['bb'],['cc']));
##输出结果
Array
(
[0] => Array
(
[0] => a
)
[1] => Array
(
[0] => bb
)
[2] => Array
(
[0] => cc
)
)
- 语法糖优化了三元表达式
##原来
$a=$GET['a']?$GET['a']:1;
##现在
$a=$GET['a']??!;
##是不是变短了好多
- 语法糖增加了太空船操作
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
##默认结果呢,大于返回1,等于0,小于返回-1
- foreach 现在支持 list()
foreach 控制结构现在支持通过 list() 构造将嵌套数组分离到单独的变量
$array = [
[1, 2],
[3, 4],
];
foreach ($array as list($a, $b)) {
echo "A: $a; B: $b\n";
}
?>
以上例程会输出:
A: 1; B: 2
A: 3; B: 4
##这个,感觉现在没怎么用到过,哈哈
暂时就这么多,有更多发现再补充
网友评论