I love getting myself into these ridiculous situations where I over-evaluate my coding practices, so here goes!
This question probably transcends PHP (as well as sanity). When evaluating a Boolean variable, which of these is best practice? (assume that there’s too much //do stuff for a ternary)
if ($bool) {
// do true stuff
} else {
// do false stuff
}
or
switch ($bool) {
case true:
// do true stuff
break;
default:
// do false stuff
break;
}
I’m interested more in performance and/or idiosyncratic considerations than blanket statements like “If/Else looks better,” “Always use Switch,” or “Do what you feel is right.”
That is, unless there really isn’t a difference.
Use the
if-elseversion. It’s very clear and easy to understand.You shouldn’t really use
switchunless you have multiple (> 2) values to switch on. You gain nothing using switch in this case (other than making your code less comprehensible).If there was any difference in performance, the
if-elseversion would be faster, although if was there any difference it would really be negligible.This would be a micro-optimization if anything. Don’t do it. Before you introduce any “optimizations” to your code, profile it and identify your bottlenecks.