php中使用短路运算提高代码质量



这篇文章主要记录php中使用短路运算( Short Circuit Evaluation). 我们也可以在其他编程语言中使用它。

考虑以下代码:

<?php

function a(){
echo 'a';
return true;
}

function b(){
echo 'b';
return false;
}

if(b() && a()){
echo 'c';
}

?>



当你运行上面的代码,输出的结果是'b'.原因是,当运行if语句时,if语句中的表达式会从左至右执行。如果第一个表达式的值为false,那么第二个表达式就不会执行。

接着看下OR运算短路

<?php

function a(){
echo 'a';
return false;
}

function b(){
echo 'b';
return true;
}

if(b() || a()){
echo 'c';
}

?>



这一次输出结果为'bc'。原因是if语句中的第一个表达式b( )的返回值是true,所以第二个表达式不会再执行。

使用短路运算会提高应用程序的运行效率。思考下面的代码:

<?php

$url = htmlentities($_POST['url']);

if($url == '' || validate::url($url)){
echo 'URL is not valid.';
}else{
echo 'Valid URL provided';
}

?>



在上面的例子中,如果url是空字符串,if语句中第一个表达式$url==''结果就为真,所以if语句中的第二个表达式就不会执行了。这样能够节约时间,提高效率,何乐不为?
 

posted on 2012-03-07 15:05  IT技术畅销书  阅读(338)  评论(0编辑  收藏  举报

导航