< PHP
Content added Content deleted
imported>mutante mNo edit summary |
imported>mutante m (adding PHP syntax highlighting) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 3:
=== if / elseif ===
<highlightSyntax>
if ($fnord == 23) {
echo "Found a 23!";
Line 13:
echo "Nothing special";
}
</highlightSyntax>
* http://www.php.net/manual/en/control-structures.elseif.php
Line 21:
=== switch / case ===
<highlightSyntax>
switch ($fnord) {
case 23:
Line 35:
echo "Nothing special";
}
</highlightSyntax>
* http://www.php.net/switch
Line 51:
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 [irc://efnet/php #php] on [[EfNet]]
[[Category:PHP]]
|
Latest revision as of 22:10, 22 June 2006
If you want to compare one variable to multiple values in PHP, you can do so 2 different ways:
if / elseif[edit]
<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[edit]
<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 ?[edit]
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 :>