У меня есть условие if с двумя условиями (разделенное оператором OR), одно из условий охватывает + 70% ситуаций и занимает намного меньше времени для обработки/выполнения, чем второе условие, поэтому в интересы скорости. Я хочу, чтобы второе условие обрабатывалось, если первое условие оценивается как false.если оптимизация условия оператора
Если я заказываю условия, чтобы первое условие (более быстрое) появилось в первом случае, если в первом случае - в тех случаях, когда это условие выполняется и оценивает значение true, второе условие даже обрабатывается?
if ((condition1) | (condition2)){
// do this
}
или мне нужно было бы вложить два оператора if, чтобы проверить только второе условие, если первое оценивается как false?
if (condition1){
// do this
}else if (condition2){
// do this
}
Я работаю в php, однако я предполагаю, что это может быть языковым агностиком.
Это именно то, что || и && делают на большинстве других языков, соответственно. – 2010-06-12 09:49:18