PHP/if switch

From S23Wiki
Jump to: navigation, search

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

if / elseif

<highlightSyntax> 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";

} </highlightSyntax>

OR you can do the same like this

switch / case

<highlightSyntax> 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";

} </highlightSyntax>

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
< mutante> Shai-Tan: hehe, ok, somehow it also looks better in the source ;)
<+jome_> Shai-Tan: Hehe, seems your benchmark made it clear that there isn't a difference :>

from #php on EfNet