PHP7新特性

公司是用PHP7的,这几天总结了下PHP7 的新特性:

1、合并运算符

     某些时候可以简化 三元运算符;

 

$name = $name ?? '张琦';      // 意思是,$name 如果 定义了 并且 值不为 null ,就用 $name 原来的值,否则 值就为 张琦

2、通过 define 定义常量数组

  

define('language', ['php', 'java', python', 'C#']);

echo language[0];  // 结果为 php

3、一个 use  可以导入同一 namespace 下的 类

// PHP7之前的用法:
use name\zq;
use name\xx;
use name\longlong as l;

// PHP7之后的用法:
use name\{zq,xx,longlong as l};
4、unserilize 提供了第二个参数,过滤,让数据更安全;通过白名单的方式来防止潜在的代码注入

    默认 第二个参数的值为 ['allowed_classes' => true]

   

<?php 
class MyClass
{  
   public $attr;    
}
$obj1 = new MyClass(); 
$obj1->attr = 1;
$serializedObj = serialize($obj1); 
$data1 = unserialize($serializedObj, ['allowed_classes' => true]);
$data2 = unserialize($serializedObj, ['allowed_classes' => false]);
$data3 = unserialize($serializedObj, ['allowed_classes' => ['MyClass']]);

 echo "<pre>";

 print_r($data1);
 print_r($data2);
 print_r($data3);

结果是:

MyClass Object
(
    [attr] => 1
)
__PHP_Incomplete_Class Object
(
    [__PHP_Incomplete_Class_Name] => MyClass
    [attr] => 1
)
MyClass Object
(
    [attr] => 1
)
自己揣摩揣摩。

5、随机数/字符 产生函数

$num = random_int($min,$mix)            // 产生 $min <= $num <= $mix  的数

$str    = random_bytes(int)                      //  产生随机的 ASCII字符

6、intdiv 函数 (对除法结果取整)



【未完待续···】

更多PHP7新特性,请点击这里:

http://blog.csdn.net/ldx904202509/article/details/52517949


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值