Is het mogelijk om voor meer if statements 1 else statement te doen?
Dus dat het else statement alleen word uitgevoerd als alle if statements geen resultaat leveren.
En hoe moet ik dit dan doen als het mogelijk is?
<?php
if(conditie1)
{
}
elseif(conditie2)
{
}
else
{
}
?>
Ja? Kan dat zo? Ik had op een andere site gelezen dat dan conditie1 perse hoog moet zijn wil conditie 2 werken.
Want bijv. als conditie 1 en 2 hebben geen resultaat en conditie3 heeft een resultaat dat conditie3 wel word uit gevoerd.
Dus dat else alleen resultaat geeft als alle condities geen resultaat geven.
Dat is hier het geval.
Probeer het maar eens naar begrijpelijke taal te vertalen:

als conditie 1 waar is {
   statement 1
} anders als conditie 2 waar is {
   statement 2
} anders {
   statement 3
}

Als conditie 1 niet waar is wordt er gekeken of conditie 2 waar is. Is die ook niet waar, dan kom je bij het else-blok, en wordt statement 3 uitgevoerd.
Is conditie 1 waar, dan blijft het bij statement 1.
Is conditie 1 niet waar, maar conditie 2 wel, dan zal alleen statement 2 uitgevoerd worden.
beter pak je een switch:

<?php

$int = 5;

switch ($int)
{
case 1:
print "integer is gelijk aan 1";
break;
case 2:
print "integer is gelijk aan 2";
break;
case ($int >= 10):
print "integer is groter dan of gelijk aan 10";
break;
default:
print "integer is niet gelijk aan 1 of 2 en kleiner dan 10";
}

?>
iH8 schreef op 29.10.2007 00:39
beter pak je een switch:
Dat hangt maar net van de situatie af. Een switch is alleen handig bij veel elseif condities en korte statements.

Als je veel code in je if, elseif en else statements hebt staan, zou ik daar toch echt geen switch voor willen gebruiken...
zo snel als je een tweede elseif erin gooit vind ik een switch al gerechtvaardigd. waarom het zou schelen of je veel of weinig code in de cases gooit weet ik niet.
Overzichtelijkheid?

Bovendien ben je in een switch gebonden aan de waarde van 1 enkele variabele. In een if/elseif/else constructie kun je veel uitgebreidere voorwaarden opnemen...
overzichtelijk is veel waard idd. ik ben zelf zo ver dat ik redelijk goed weet wanneer wat te gebruiken maar de topicstarter was niet eens van de keuze op de hoogte. vandaar mijn post.
oké het elseif gaat niet werken omdat ik niet bijv. de resultaten van conditie1 en 2 kan laten zien als deze resultaat hebben maar enkel vaan 1 van beide...
Ik ga eens kijken wat ik kan met het switch statement..

EDIT,,
switch schiet ook niet op omdat het gewoon weg hetzelfde resultaat op levert..

Reageren