PHP7新特性

来源:互联网 发布:mac 复制 移动硬盘 编辑:程序博客网 时间:2024/04/28 08:22

公司是用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


原创粉丝点击