php优化if语句,有很多if语句会降低php的渲染速度吗?

Adriano Mone..

5

我刚刚看过WPShout 的一篇非常有趣的文章,该文章使用非常人性化的类比来邀请我们编写更智能的代码,以及为什么深层嵌套的if { .. }语句不仅会降低性能,还会降低代码的可维护性。如果逻辑具有性能意识,而没有不必要的肿的迭代检查,则最终您将获得井井有条,响应式的干净代码。

代码示例(摘自本文)

“让我们通过看两个简单的代码示例来具体化:首先是气泡样式,然后是网关样式”。

坏:气泡样式

$is_first_thing_working = true;

$is_second_thing_working = true;

$is_third_thing_working = true;

$is_fourth_thing_working = true;

if( $is_first_thing_working === true ) {

if( $is_second_thing_working === true ) {

if( $is_third_thing_working === true ) {

if( $is_fourth_thing_working === true ) {

return 'Working properly!';

}

else {

return 'Fourth thing broken.';

}

}

else {

return 'Third thing broken.';

}

}

else {

return 'Second thing broken.';

}

}

else {

return 'First thing broken.';

}

良好:网关样式

$is_first_thing_working = true;

$is_second_thing_working = true;

$is_third_thing_working = true;

$is_fourth_thing_working = true;

if( $is_first_thing_working !== true ) {

return 'First thing broken.';

}

if( $is_second_thing_working !== true ) {

return 'Second thing broken.';

}

if( $is_third_thing_working !== true ) {

return 'Third thing broken.';

}

if( $is_fourth_thing_working !== true ) {

return 'Fourth thing broken.';

}

return 'Working properly!';

范例说明

上面两个代码段之间的区别归结为一个关键区别:

bubble方法询问重要条件是否为真,并且仅在满足条件时才运行代码。

网关方法询问重要条件是否为假,如果条件为假,则立即为每个条件发出退出指令。

冒泡方法会强制嵌套,因为在进入要运行的代码之前,必须先检查“ true,true,true,true”。每个“ true”检查都是一个嵌套级别,这是您的代码必须存在的条件。

网关方法不是嵌套的:

如您所见,代码从不超过一层逻辑深度。这是因为一旦通过给定的网关,我们就可以完全忘记它。换句话说,由于我们没有在$is_first_thing_working检查后退出,因此我们自动知道其余代码$is_first_thing_working是正确的。

“这就像现实生活:如果您在历史课上坐在我旁边,我知道您是人类,是我高中的学生,等等–否则您将永远不会上过我的课地方。无需检查。”

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值