PHP各个版本新特征汇总

PHP 5.3新增特征

PHP 5.4新增特征

  • 新增支持 traits
  • 新增短数组语法,比如 $a = [1, 2, 3, 4];$a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
  • 新增支持对函数返回数组的成员访问解析,例如 foo()[0] 。
  • 现在 闭包 支持 $this 。
  • 现在不管是否设置 short_open_tag php.ini 选项,<?= 将总是可用。
  • 新增在实例化时访问类成员,例如: (new Foo)->bar()
  • 现在支持 Class::{expr}() 语法。
  • 新增二进制直接量,例如:0b001001101 。
  • 改进解析错误信息和不兼容参数的警告。
  • SESSION 扩展现在能追踪文件的 上传进度
  • 内置用于开发的 CLI 模式的 web server

PHP 5.5新增特征

  • 新增生成器。PHP官方文档如下描述PHP生成器:

    生成器提供了一种更容易的方法来实现简单的对象迭代,相比较定义类实现 Iterator 接口的方式,性能开销和复杂性大大降低。
    生成器允许你在 foreach 代码块中写代码来迭代一组数据而不需要在内存中创建一个数组, 那会使你的内存达到上限,或者会占据可观的处理时间。相反,你可以写一个生成器函数,就像一个普通的自定义函数一样, 和普通函数只返回一次不同的是, 生成器可以根据需要 yield 多次,以便生成需要迭代的值。

  • 新增finally关键字

  • foreach现在支持list()
    foreach 控制结构现在支持通过 list() 构造将嵌套数组分离到单独的变量。例如:
<?php
$array = [
    [1, 2],
    [3, 4],
];

foreach ($array as list($a, $b)) {
    echo "A: $a; B: $b\n";
}
?>

以上例程会输出:

A: 1; B: 2
A: 3; B: 4
  • empty()支持任意表达式
    empty() 现在支持传入一个任意表达式,而不仅是一个变量。例如:
<?php
function always_false() {
    return false;
}

if (empty(always_false())) {
    echo 'This will be printed.';
}

if (empty(true)) {
    echo 'This will not be printed.';
}
?>

以上例程会输出:

This will be printed.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值