本文实例总结了php7 新增功能。分享给大家供大家参考,具体如下:

一、核心

  • 增加了group use语法声明。RFC: https://wiki.php.net/rfc/group_use_declarations
  • 增加了null合并运算符"t0">①PHP标量类型与返回值类型声明

    标量类型声明

    默认情况下,所有的PHP文件都处于弱类型校验模式。

    PHP 7 增加了标量类型声明的特性,标量类型声明有两种模式:

    • 强制模式 (默认)严格模式

    • 严格模式

    标量类型声明语法格式:

    declare(strict_types=1);

    代码中通过指定 strict_types的值(1或者0),1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验模式。

    可以使用的类型参数有:

    • int

    • float

    • bool

    • string

    • interfaces

    • array

    • callable

    强制模式实例:

    <"htmlcode">
    
    9

    实例汇总将参数 4.1 转换为整数 4 后再相加。

    严格模式实例:

    <"htmlcode">
    
    <"htmlcode">
    
    5

    返回类型声明错误实例:

    <"t1">②PHP NULL 合并运算符
    

    PHP 7 新增加的 NULL 合并运算符("htmlcode">

    $site = isset($_GET['site']) "htmlcode">
    
    $site = $_GET['site'] "htmlcode">
    
    <"htmlcode">
    
    PHP中文网
    PHP中文网
    PHP中文网
    

    ③PHP 太空船运算符(组合比较符)

    PHP 7 新增加的太空船运算符(组合比较符)用于比较两个表达式 $a 和 $b,如果 $a 小于、等于或大于 $b时,它分别返回-1、0或1。

    实例

    <"a" <=> "a");
    print(PHP_EOL); 
    print( "a" <=> "b");
    print(PHP_EOL); 
    print( "b" <=> "a");
    print(PHP_EOL); 
    "htmlcode">
    
    0
    -1
    1
     
    0
    -1
    1
     
    0
    -1
    1
    

    ④PHP 常量数组

    在 PHP 5.6 中仅能通过 const 定义常量数组,PHP 7 可以通过 define() 来定义。

    实例

    <"htmlcode">
    
    PHP

    ⑤PHP Closure::call()

    PHP 7 的 Closure::call() 有着更好的性能,将一个闭包函数动态绑定到一个新的对象实例并调用执行该函数。

    实例

    <"htmlcode">
    
    1
    1
    

    ⑥PHP CSPRNG

    CSPRNG(Cryptographically Secure Pseudo-Random Number Generator,伪随机数产生器)。

    PHP 7 通过引入几个 CSPRNG 函数提供一种简单的机制来生成密码学上强壮的随机数。

    • random_bytes() - 加密生存被保护的伪随机字符串。

    • random_int() - 加密生存被保护的伪随机整数

    random_bytes()

    语法格式

    string random_bytes ( int $length )

    参数

    • length - 随机字符串返回的字节数。

    返回值

    • 返回一个字符串,接受一个int型入参代表返回结果的字节数。

    实例

    <"htmlcode">
    
    6f36d48a29

    random_int()

    语法格式

    int random_int ( int $min , int $max )

    参数

    • min - 返回的最小值,必须是大于或等于 PHP_INT_MIN 。

    • max - 返回的最大值,必须是小于或等于 PHP_INT_MAX 。

    返回值

    • 返回一个指定范围内的int型数字。

    实例

    <"htmlcode">
    
    723
    -64
    

    ⑦PHP 匿名类

    PHP 7 支持通过 new class 来实例化一个匿名类,这可以用来替代一些"用后即焚"的完整类定义。

    实例

    <"我的第一条日志"); 
    "htmlcode">
    
    我的第一条日志

    ⑧PHP 7 use 语句

    PHP 7 可以使用一个 use 从同一个 namespace 中导入类、函数和常量:

    // PHP 7 之前版本需要使用多次 
    use use some\namespace\ClassA; 
    use some\namespace\ClassB; 
    use some\namespace\ClassC as C; 
    use function some\namespace\fn_a; 
    use function some\namespace\fn_b; 
    use function some\namespace\fn_c; 
    use const some\namespace\ConstA; 
    use const some\namespace\ConstB; 
    use const some\namespace\ConstC; 
     
    // PHP 7+ 之后版本可以使用一个 use 导入同一个 namespace 的类 
    use some\namespace\{ClassA, ClassB, ClassC as C}; 
    use function some\namespace\{fn_a, fn_b, fn_c}; 
    use const some\namespace\{ConstA, ConstB, ConstC}; 
    "alpn_protocols”选项。

    四、反射

    • 增加了ReflectionGenerator类,用于yield from Traces, current file/line等等。
    • 增加了ReflectionType类,更好的支持新的返回值和标量声明功能。

    五、流

    windows版本增加了块读取的选项。可以通过传递array("pipe" => array("blocking" => true))参数来激活。

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    标签:
    php7,新增功能

    免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
    狼山资源网 Copyright www.pvsay.com

    评论“php7 新增功能实例总结”

    暂无“php7 新增功能实例总结”评论...

    稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

    昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

    这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

    而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?