gpt4 book ai didi

php - 订购 if/else if 语句的最快/正确方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:49 25 4
gpt4 key购买 nike

在 PHP 中,是否有最快/正确的方式来排序 if/else if 语句?出于某种原因,在我的脑海中,我喜欢认为第一个 if 语句应该是预期的“最受欢迎”的满足条件,然后是第二个,等等。但是,这真的重要吗?如果第二个条件是最受欢迎的选择(意味着系统必须始终读取第一个条件),是否会影响速度或处理时间

例如:

if ("This is the most chosen condition" == $conditions)
{

}
else if ("This is the second most chosen condition" == $conditions)
{

}
else if ("This is the third most chosen condition" == $conditions)
{

}

最佳答案

在速度方面,它不会有什么不同......不是很明显......顺序确实很重要(将最常用的条件放在第一位明显更快),但它并没有多大意义。选择为那些修改和维护代码的人提供最佳可读性的顺序。他们稍后会感谢您。

编辑:另外,考虑一下:

我的函数将以 25% 的几率返回。我更喜欢写作:

if ( $chance25 )
return;
else if ( $chance40 )
doSomething();
else if ( $chance30 )
doSomethingElse();
else if ( $chance5 )
doSomethingElse2();

而不是:

if ( $chance40 )
doSomething();
else if ( $chance30 )
doSomethingElse();
else if ( $chance25 )
return;
else if ( $chance5 )
doSomethingElse2();

按功能排序更好...

编辑2:

一种尺寸并不适合所有人。如果您的条件是返回 bool 值的方法,请根据方法运行的速度和机会对它们进行排序。我想真的没有一个好的答案,你需要适应。例如,如果我的 $chance25 被替换为 reallySlowMethodDoNotUseUnlessYouReallyHaveTo() 方法,我肯定会最后检查它。 :D

关于php - 订购 if/else if 语句的最快/正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7262103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com