这是假设的代码,假设我有以下内容:
假设我有一个数组,它在这个示例问题中有很多数据,整数,但是它可以在if语句方面以某种方式对任何类型的数据进行排序.
$a = array(0,0,0,1,1,1,1,1,1,2,2,2,2,3,3,...,9,9,9);
假设我有一个带有许多if else if语句的for循环,那些可以有任何做某事的标准.
for($i=0; i
// these if statements can be anything and may or may not be related with $a
if($a[$i] == 0 && $i < 10) {
// do something
}
else if($a[$i] == 1 && $i < 20) {
// do something
}
else if($a[$i] == 2) {
// do something
}
else if($a[$i] == 3) {
// do something
}
// and so on
}
现在问题是,在第一次if语句迭代完成之后,它从未被使用过.一旦for循环开始使用下一个if语句,就不需要再次评估前面的if语句.它可以使用第一个if语句n次,依此类推.
有没有办法优化它,所以它不必通过所有以前的if else if语句,因为它循环数据?记住,数据可以是任何东西,if语句可以是各种条件.
是否有一种范式转换,我没有看到,这是如何编码以提供最佳性能所必需的?