php手册5.5新加什么,PHP5.5的新特性

看了@轩脉刃 今天出炉的PHP 5.5 新特性。不过没有翻译全,我这里稍微补充下,整理成完整的一篇:)

原文:http://www.php.net/manual/zh/migration55.new-features.php

1,生成器

php5.5通过引入yield关键字来支持generators。Generators提供了一种更加简洁的生成迭代器的方式,无需通过笨重复杂的Iterator接口。

一个简单的示例:利用generators实现和range函数一样的迭代功能

xrange(, , = 1(= ; <= ; += 'Single digit odd numbers: '(xrange(1, 9, 2) """\n";

以上例程会输出:

Single digit odd numbers: 1 3 5 7 9

2,添加finally关键字

try-catch语句现在支持后边添加finally。无论是否会抛出异常,finally中的代码总是会被执行。

3,新的哈希API

添加了一个新的hash函数API,它可以更简单的生成安全的散列值,并且能够像crypt()一样用于密码验证管理。详细请参阅:password_hash()。

4,foreach支持list()

现在,foreach能够利用list()结构分解被嵌套的数组,并且提取其中的值。举例来说:

=1, 2],3, 4],((, "A: ; B: \n"

以上例程会输出:

A: 1; B: 2

A: 3; B: 4

更多文档可以参见foreach手册。

5,empty()支持表达式

现在可以将任意的表达式传入empty()中。例如:

("This will be printed.\n"(("This will not be printed.\n"

以上例程会输出:

This will be printed.

6,array和string字面的dereferencing

可以利用下标访问array、string字面中的某个元素或者char。(ps:dereferencing不知道怎么翻译才准确...看了轩脉刃的表述:支持用下标获取,呵呵,其实就是这个意思。)

'Array dereferencing: '[1, 2, 3][0"\n"'String dereferencing: ''PHP'[0"\n";

以上例程会输出:

Array dereferencing: 1

String dereferencing: P

7,通过::class获取类名

可以利用ClassName::class 获取class完整的类名。例如:

ClassName::"\n";

以上例程会输出:

Name\Space\ClassName

8,新增扩展OPcache

Zend Optimiser+的opcode cache被加入了php扩展,成为OPcache extension。OPcache可以提高php的执行性能,它能够在共享内存中存储编译好的opcode,以此节约原本为每个请求加载\解析php脚本的时间。具体安装和使用详情请参考the installation instructions。

9,foreach支持非标量key

foreach现在支持任何类型的key。原生的php数组仅能够用标量作为key,而现在可以通过实现Iterator::key()来返回任意类型的数据,并且foreach均能接收。

10,在win平台上支持Apache 2.4

windows上用于apache2.4的SAPI已被实现支持。

11,改进GD

GD扩展做出了很多改进,包括:

imageflip()函数

imagecrop() 和 imagecropauto() 函数

imagecreatefromwebp() 和 imagewebp() 函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值