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语句中的第二个表达式就不会执行了。这样能够节约时间,提高效率,何乐不为?
 

转载于:https://www.cnblogs.com/phpcode/archive/2012/03/07/2522716.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值