Function doSomething()
{

}
Function doOtherthing()
{

}
$N为常量
代码1:
for($i = 0; $i < $N; $i++)
{
if(true)
doSomething();
else
doOtherthing();
}
代码2:
if(true)
for($i=0;$i<N;$i++)
doSomething();else
for($i=0;$i< N; $i++)
doOtherthing();求高手解答··这同样是个面试题目··

解决方案 »

  1.   

    如果 true 为单纯的 布尔变量 那么 肯定是2快 无需额外判断如果 true 为表达是返回值 也就是这个位置是由变量或者表达式代替 那么 没有比较的意义的
      

  2.   

    两段代码功能都不一样,不过都是执行n次,第一个是两个函数调用次数之和是n,每次都要判定,而第二个只调用其中一个函数n次,只需要判别一次。