PHP5其他新特性
PHP5其他一些新特性:
1、例外句柄(Exeption handing)
PHP5增加了对于错误或程序异常时的处理结构语句块。
2、try/throw/catch结构
PHP的这个结构,用于程序运行时出现异常时执行的语句段,允许我们从系统提供的Exception类中继承或访问它抛出的对象,然后根据出错的类型进行异常处理。
class SQLException extends Exception{
public $problem ;
function __construct($problem){
$this->problem = $problem ;
}
}
try{
throw new SQLException("不能连接数据库!") ;
}catch(SQLException $e){
echo "捕获到SQLException 异常:$obj->problem" ;
}catch(Exception $e){
echo "捕获到未知的异常!" ;
}
值得一提的是,PHP中大多数的内部函数(系统函数)没有抛出例外(Exception)的特性,对PHP5的新扩展库则是支持的,如PECL扩展库中的PDO、mysqli等。
在php.ini设置文件中已经存在的类似如:set_error_handler(),我们可以利用它在脚本执行完成之前去捕获没有触发的例外。
3、foreach语句与引用
在PHP4中,我们不能从数组中重新引用或修改其中的数组单元的值,而在PHP5中支持该功能,允许我们使用foreach循环利用&(引用操作符)标记来直接修改数组单元的值。
<?php
$arr = array(0,1,2,3) ;
foreach($arr as &$value){
$value = $value * 2 ; }
// 该数组的内容为array(0,2,4,6)
?>
4、引用参数中的默认值
PHP4中,默认值不能给一个形式参数,只能传递一个实参,在PHP5中传递引用。
<?php
function my_func(&$arg = null){
if($arg === NULL){
echo "$arg为空!" ;
}
}
my_func() ;
?>
5、iconv()函数
PHP5在刚推出之时,就已经在内部集成了iconv函数族,用于字节符编程转换(PHP4是存在于外部的iconv.dll扩展库文件中),我们可以在PHP脚本直接进行字符的编码转换。
<?php
//将$str中的汉字转为UTF-8编码
$str = '编码转换' ;
iconv('UTF-8','GBK',$str) ;
?>
|


Echoright
博客统计信息
热门文章
最新评论
友情链接