PHP/if switch

From S23Wiki

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

[edit] 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

[edit] 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"


[edit] 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

Personal tools