効率を上げるには、switchステートメントを使用するのが最善です。次に、ケースで見つからなかったステートメントをキャッチするには、デフォルトを使用できます。
switch(in_category){ //Begin switch statement.
case '7': //Check if it equals 7
include(TEMPLATEPATH . '/post-experts.php'); //Include our PHP code
break; //End this current condition.
case '6': //Check if it equals 6
include(TEMPLATEPATH . '/post-radio.php'); //Include our PHP code
break; //End this current condition.
case '5': //Check if it equals 5
include(TEMPLATEPATH . '/post-lifestyle.php'); //Include our PHP code
break; //End this current condition.
default: //If none of the above cases are found, do this.
include(TEMPLATEPATH . '/singleorigional.php'); //Include our PHP code
break; //End this current condition.
}
編集:なぜこれが優れているのかをよりよく説明するために、後日これに戻ることにしました。
if elseの組み合わせは、順序を意味します。例えば
if(thingy == "thing1"){
//Do one thing
}
elseif(thingy == "thing2"){
//Do another thing
}
elseif(thingy == "thing3"){
//Do a different thing
}
else{
//Catch anything
}
これにより、最初の条件をチェックし、thing ==thing1の場合はチェックし、そうでない場合は次の条件であるthing==thing2と等しいかどうかをチェックします。一般的に常にthing1を期待している場合は、他のいくつかのことをキャッチしているだけなので、これで問題ない可能性があります。ただし、現実的には、必要なソリューションに到達する前に、考えられるすべての条件をチェックすることは非効率的です。
代わりに、同等のswitchステートメントを記述します。
switch(thingy){
case "thing1":
//Do one thing
break;
case "thing2":
//Do another thing
break;
case "thing3":
//Do a different thing
break;
default:
//Catch anything
break; //Break is not needed if default is the final case.
}
代わりに、これが行うのは、最初に答えを取得することです。たとえば、thing == "thing3"とすると、関係のない他のケースはスキップされ、代わりに必要なことだけが実行されます。順序を使用せず、代わりに正解を指すように機能します。したがって、実際の答えが最初のケースであるか100番目のケースであるかは関係ありません。それは、関連することだけを行います。
要約すると、スイッチを使用し、回答されたケースが100番目のケースである場合、ifelseを使用し、回答が100番目のバリエーションであった場合、そのスイッチ(回答)が見つかった後に何をすべきかを示します。 ifelseの場合、必要な処理を実行する前に、99個の他の無意味なチェックを繰り返す必要があります。