Oli*_*erg 0 php performance if-statement
我有一个与性能相关的问题,关于PHP如何在条件中评估OR运算符.
我有一个条件,调用2个函数,都返回布尔值:
第一个是简单,快速的功能 - simpleFunction()
第二个是更密集的函数,查询DB - intensiveFunction()
我可以像这样编写条件,这样如果第一个简单函数返回TRUE,则不会执行第二个更强的函数:
if ( simpleFunction() ) {
// Do Stuff
} elseif ( intensiveFunction() ) {
// Do the same stuff (redundant code)
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,当在PHP条件中使用和OR运算符时,如果第一个条件(在运算符的左侧)为TRUE,第二个函数(在运算符的右侧)是否会被执行?
if ( simpleFunction() || intensiveFunction() ) {
//Do Stuff
}
Run Code Online (Sandbox Code Playgroud)
这个条件将在循环内运行,所以我想避免在每次迭代时运行intensiveFunction().
我相信一旦在一个或一个操作中发现了一个真理,那么该陈述就会结束并返回true,
而在一个和一个操作中,它运行直到它发现一个假.