switch ($_GET['pagina'])
Jordi kroon op 08/03/2011 23:42:27:
@roel ik wist niet dat je ook zo een switch kon openen/sluiten
@karl precies wat ik net dus zij veel overzichtelijker
@karl precies wat ik net dus zij veel overzichtelijker
Blijkbaar kan dat dus met if-statements ook. Wist ik niet eens (ooit wel eens vaag van gehoord dan)
Ik denk dan achteraf gezien dat het niet veel uitmaakt of je { en } of : gebruikt.
Ik gebruik zelf altijd bij if-statements gewoon { en }, maar bij switch wel :
Bij een if-else statement worden er continu evaluaties gedaan, terwijl bij een switch-constructie een specifieke 'case' (op z'n Nederlands casus) wordt aangeroepen.
Stel dat jouw website uit 1.000 pagina's bestaat en je zou deze 1.000 pagina's in een if-else statement hebben staan, wat zou er dan gebeuren als iemand de 1.000e pagina aanroept? Ik zal het vertellen: er worden 999 nutteloze vergelijkingen gedaan, namelijk: is het pagina 1? Nee... Is het pagina 2? Nee... Is het pagina 3? enz. enz. totdat je bij de 1.000e pagina bent: Nee... Is het pagina 1.000? Ja! Hoera... include nu pagina 1.000. Kortom, omdat we gebruik hebben gemaakt van een if-else statement hebben we de server 999 zinloze vergelijkingen laten uitvoeren.
Hadden we nu echter eem switch gebruikt en zou iemand pagina 1.000 aanroepen, dan werd direct de juiste 'case' aangeroepen en dus ook direct de juiste pagina geinclude.
En dat mijne dames en heren is het verschil tussen het gebruik van een if-else statement en een switch-constructie.
(en uiteraard ga je niet 1.000 pagina's in een switch-constructie zetten, maar gebruik je hier normaliter een database voor)
Toevoeging op 08/03/2011 23:50:09:
Roel van de Water op 08/03/2011 23:33:36:
Dat kan, maar dit is absoluut geen verplichting. Het is gewoon een van de manieren, maar de andere manier is ook goed.
Gewijzigd op 08/03/2011 23:51:05 door Ozzie PHP
Paar versies terug was een switch significant trager dan een if constructie. Dit kwam (denk ik) doordat de switch naar een if werd omgezet en dan nog eens uitgevoerd.
Roel van de Water op 08/03/2011 23:45:20:
Blijkbaar kan dat dus met if-statements ook. Wist ik niet eens (ooit wel eens vaag van gehoord dan)
Ik denk dan achteraf gezien dat het niet veel uitmaakt of je { en } of : gebruikt.
Ik gebruik zelf altijd bij if-statements gewoon { en }, maar bij switch wel :
Ik denk dan achteraf gezien dat het niet veel uitmaakt of je { en } of : gebruikt.
Ik gebruik zelf altijd bij if-statements gewoon { en }, maar bij switch wel :
Dat noemen ze de alternative syntax, dit werkt bij if, while, for, foreach en switch.
Het is handig als je deze statements gebruikt om iets te echoën. Bijv. met menu items echoën uit een database:
Code (php)
1
2
3
4
5
2
3
4
5
<ul id="nav">
<?php while($row = mysql_fetch_assoc($result)) : ?>
<li><?php echo $row['name']; ?></li>
<?php endwhile; ?>
</ul>
<?php while($row = mysql_fetch_assoc($result)) : ?>
<li><?php echo $row['name']; ?></li>
<?php endwhile; ?>
</ul>
Nu wordt het stukje <li></li> per item geëchoëd. Dit staat mooier dan:
Code (php)
1
2
3
4
5
2
3
4
5
<ul id="nav">
<?php while($row = mysql_fetch_assoc($result)) {
echo '<li>'.$row['name'].'</li>';
}?>
</ul>
<?php while($row = mysql_fetch_assoc($result)) {
echo '<li>'.$row['name'].'</li>';
}?>
</ul>
Gewijzigd op 09/03/2011 06:53:57 door Wouter J