php5.5新特性

来源:互联网 发布:在淘宝买散片cpu可靠吗 编辑:程序博客网 时间:2024/05/16 18:11
<?php/* * 1.empty增强了 * */function ey() {return FALSE;}var_dump(empty(ey()));echo '<br/>';/* *2.yield生成器 * 一个生成器函数看起来像一个普通的函数,不同的是普通函数返回一个值,而一个生成器可以yield生成许多它所需要的值。    当一个生成器被调用的时候,它返回一个可以被遍历的对象.当你遍历这个对象的时候(例如通过一个foreach循环), * PHP 将会在每次需要值的时候调用生成器函数,并在产生一个值之后保存生成器的状态,这样它就可以在需要产生下一个值的时候恢复调用状态。    一旦不再需要产生更多的值,生成器函数可以简单退出,而调用生成器的代码还可以继续执行,就像一个数组已经被遍历完了。 * */function getAll() {for ($i = 1; $i < 7; ++$i) {//注意变量$i的值在不同的yield之间是保持传递的。 yield $i;}}foreach(getAll() as $v){echo $v,'<br/>';}/* * 3.非变量array和string也能支持下标获取了 * */echo [1, 2, 3][0],'<br/>';;echo 'foobar'[2],'<br/>';/* * 4.类名通过::class可以获取 * */class ClassName {}echo ClassName::class,'<br/>';/* * 5.foreach 支持list() * */$array = [    [1, 2],    [3, 4]];foreach ($array as list($a, $b)) {    echo 'A:'.$a,'<br/>';    echo 'B:'.$b,'<br/>';}/* * 6. finally关键字 * 这个和java中的finally一样,经典的try ... catch ... finally 三段式异常处理。 * 小结:在使用 finally 并return时,请谨慎使用,因为 finally 的return会覆盖之前的ruturn值。 * */try {       //执行操作  } catch (Exception $e) {       // 捕捉异常,记录日志或其他的操作       echo $e->getMessage();    } finally {       // 插入出错后继续执行的代码,如关闭数据库连接,返回给客户端错误信息等。  …………………………}  /* * php5.5总结 * 不再支持Windows XP和 Windows Server 2003 * 扩展mysql过期,需使用MySQLi或PDO_MySQL * preg_replace /e 修饰符过期 * 删除Logo GUIDs * intl扩展的一些方法/函数过期 * IntlDateFormatter::setTimeZoneID()和datefmt_set_timezone_id()现在已经过期.可以分别使用IntlDateFormatter::setTimeZone()和datefmt_set_timezone() * mcrypt扩展的一些函数过期 * mcrypt_cbc(),mcrypt_cfb(),mcrypt_ecb(),mcrypt_ofb()等函数过期linux *  * */  

0 0
原创粉丝点击