php7新内容总结(随时更新)

一.参数和返回值类型申明

可以申明的有:float,int,bool,string,interfaces,array,callable

一般模式:
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1)); //9
严格模式:
declare(strict_types=1);
function sum(int ...$ints) {
return array_sum($ints);
}
print(sum(2, '3', 4.1)); //Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...
  
返回值:
declare(strict_types = 1);
function returnIntValue(int $value): int {
return $value + 1.0;
}
print(returnIntValue(5));//Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned.

二.空合并运算符
isset($_GET['aa']) ? $_GET['aa'] : 'not passed'等价于$_GET['aa']??'not passed';

三.飞船运算符
print( 1 <=> 1);//0
print( 1 <=> 2);//-1
print( 2 <=> 1);//1

四.定义数组常亮
define('animals', [ 'a', 'b', 'c']);

五.过滤unserialize
PHP 7引入了过滤的unserialize()函数,以便在对不可信数据上的对象进行反序列化时提供更好的安全性。它可以防止可能的代码注入,并使开发人员能够对可以反序列化的类进行白名单。

六.use 批量声明
在同一个命名空间下,现在use可以批量申明
use some/namespace/{ClassA, ClassB, ClassC as C};

七.支持为负的字符串偏移量
var_dump('abcdef'[-2]);
var_dump(strpos("aabbcc", "b", -3));

八.foreach不再改变内部数组指针
$arr = [0,1,2];
foreach($array as $val){
  var_dump(current($array));
}
php5 输出:int(1) int(2) bool(false)
php7 输出:int(0) int(0) int(0)

转载于:https://www.cnblogs.com/crazytata/p/9318838.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值