hoe meerdere statements gebruiken in switch?

Status
Niet open voor verdere reacties.

nl18663

Gebruiker
Lid geworden
19 dec 2007
Berichten
156
Hallo,

ik maak in mijn inlog systeem gebruik van niveau's op basis van 1,2 en 3
een user kan meerdere rollen per keer hebben.
nu loop ik tegen het volgende probleem aan, uit mijn SQL haal ik bijv. $toegang heeft waarde 123

maar als ik een switch ($toegang)
case "1":

gebruik kan ik maar op een selecteren en niet op meerdere, is er manier om dat wel te kunnen? dus wat ik zou moeten hebben is iets van if contains "1" then... iemand ideeen?
 
Als ik dit zo lees uit de comment op de PHP-site moet het mogelijk zijn
PHP:
<?php
for($i=0; $i<8; ++$i)
{
    echo $i,"\t";
    switch($i)
    {
    case 1: echo "One"; break;
    case 2:
    default: echo "Thingy"; break;
    case 3:
    case 4: echo "Three or Four"; break;
    case 5: echo "Five"; break;
    }
    echo "\n";
}
/*
Outputs what you'd expect, namely
0       Thingy
1       One
2       Thingy
3       Three or Four
4       Three or Four
5       Five
6       Thingy
7       Thingy
*/
?>
Case 2 en 3 zijn leeg, toch wordt er een waarde aan toegekend namelijk hetgeen uit de case er onder.
 
hoi,

dat was niet hetgene wat ik zocht, wat ik bedoel is dat als je een waarde hebt van 123 in je toegangs nivo dat je dat een case kunt doen of dat er een 1 2 of 3 in staat
dus iets als
switch ($test)
case "1 and 2 and 3":
header(location:bla.php);

zoiets...
 
Als je includes/functies gebruikt gewoon meer cases?

switch
case 1:
case 2:
case 3:
case 12:
case 13:
case 23:
case 123:

wordt je alleen niet vrolijk van als je meerdere opties krijgt..
Anders zou je er een loop van kunnen maken en/of de $test anders mee moeten geven...
 
dus wat ik zou moeten hebben is iets van if contains "1" then... iemand ideeen?

Om te controleren of een bepaald teken (of een string) voorkomt in een andere string kan je de functie strstr gebruiken. Alleen zal je dan wel een serie if en else if'jes moeten gebruiken, in plaats van een switch...case.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan