php u00a0,PHP7.4 新特性

本文介绍了PHP7中的重要新特性,包括属性添加限定类型、箭头函数的使用、返回类型协变与参数类型逆变、数组解包、空合并运算符以及数值文字分隔符等。通过实例展示了这些新特性的用法,帮助开发者更好地理解和运用PHP7,提升编程效率。
摘要由CSDN通过智能技术生成

1. 属性添加限定类型

class User {

public int $age;

public string $name

}

$user = new User();

$user->age = 10;

$user->name = "张三";

//error

$user->age = "zhang";//需要传递int

2. 箭头函数

$factor = 10;

$nums = array_map(fn($n)=>$n * $factor,[1,2,3]);//[10,20,30]

//之前的写法

$nums = array_map(function($num)use($factor){

return $num * $factor;

},[1,2,3])

3.有限返回类型协变与参数类型逆变

class A {}

class B extends A {}

class Producer {

public function method(): A {}

}

class ChildProducer extends Producer {

public function method(): B {}

}

4. 数组解包

$parts = ['apple', 'pear'];

$fruits = ['banana', 'orange', ...$parts, 'watermelon'];//['banana', 'orange', 'apple', 'pear', 'watermelon'];

//老的写法

$fruits = array_merge[['banana', 'orange'],$parts,['watermelon']];

5. 空合并运算符赋值

$array['key'] ??= computeDefault();

// 老的写法

if (!isset($array['key'])) {

$array['key'] = computeDefault();

}

?>

6. 数值文字分隔符

6.674_083e-11; // float

299_792_458; // decimal

0xCAFE_F00D; // hexadecimal

0b0101_1111; // binary

?>

7. 允许从 __toString () 抛出异常

现在允许从 __toString() 引发异常,以往这会导致致命错误,字符串转换中现有的可恢复致命错误已转换为 Error 异常。

8. Filter

filter_var(1.00,FILTER_VALIDATE_FLOAT);

### 9. strip_tags 支持数组

strip_tags($str,['p','a','div']);

//老的写法

strip_tags($str,"

");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值