PHP/if switch

If you want to compare one variable to multiple values in PHP, you can do so 2 different ways:

if / elseif
if ($fnord == 23) { echo "Found a 23!"; } elseif ($fnord == 17) { echo "Found a 17!"; } elseif ($fnord == "Foobar") { echo "Fnord is a string!"; } else { echo "Nothing special"; }

OR you can do the same like this

switch / case
switch ($fnord) { case 23: echo "Found a 23!"; break; case 17: echo "Found a 17!"; break; case "Foobar": echo "Fnord is a string!"; break; default: echo "Nothing special"; }

read here why you need the "break"

Which is Faster ?
Now, you might wonder, which is "better" to use?

Look at this Benchmark provided by Shai-Tan comparing them.

It turns out that the difference is almost not noticable but switch is a tiny bit faster.

<@Shai-Tan> mutante: 0.00011 <@Shai-Tan> mutante: a moral victory at best