1.PHP生成器(使用yield关键字)
<?php//使用yield关键字实现平方的生成器,在循环结构中则生成的是数组function do2pos($n){for($i=1; $i<=$n; $i++){yield $i * $i;}}//在循环结构中使用yield返回的是Generator对象var_dump(do2pos(100));$sum = 0;foreach(do2pos(100) as $v){$sum += $v;}echo $sum;?>
2. 增加了finally关键字用于处理异常
<?phptry{}catch(Exception $e){}finally{}?>
3.循环结构中使用list()读取多个元素
<?phpini_set("display_errors", 1);error_reporting(E_ALL);$arr = array(array(1,3,5), array(2,4,6), array(4,6,8), array(88,99,44,55), array(23,78));foreach($arr as list($one, $two, $three)){echo PHP_EOL.$one.",".$two.",".$three;}?>
注意:
若数组内的数组元素个数少于list()声明的个数则报notice
4. empty()全局函数也支持参数为函数
<?phpfunction foo(){return false;}echo empty(foo());?>
5.非变量array和string均支持使用下标获取元素
<?phpecho array(2,4,6)[2];echo [2,4,6][2];echo "abcde"[2];?>
6.类名可以通过Clazz::class获取
<?phpnamespace project\php;class Clazz{}echo Clazz::class;?>
7.增加了opcache的php加速
opcache在php.ini中的配置如下:
[opcache]zend_extension=php_opcache.dllopcache.enable=1opcache.enable_cli=1opcache.memory_consumption=64opcache.interned_strings_buffer=4opcache.max_accelerated_files=2000opcache.max_wasted_percentage=5opcache.use_cwd=1opcache.validate_timestamps=1opcache.revalidate_freq=2opcache.revalidate_path=0opcache.save_comments=1opcache.load_comments=1opcache.fast_shutdown=0opcache.enable_file_override=0opcache.optimization_level=0xffffffffopcache.inherited_hack=1opcache.dups_fix=0opcache.blacklist_filename=opcache.max_file_size=0opcache.consistency_checks=0opcache.force_restart_timeout=180;opcache.error_log=opcache.log_verbosity_level=1opcache.preferred_memory_model=opcache.protect_memory=0opcache.validate_permission=0opcache.validate_root=0
PHP5.5特性
原文地址:http://www.cnblogs.com/liuzhiqaingxyz/p/7639279.html