简体   繁体   中英

Generate switch cases in php from an array?

Is it possible to generate the cases for a switch in php using an array? Something like:

$x=array(
    0 => 'foo',
    1 => 'bar',
    2 => 'foobar'
);

$y='foobar'

switch($y) {
    foreach($x as $i) {
        case $i:
            print 'Variable $y tripped switch: '.$i.'<br>';
            break;
    }
}

I would like to be able to pull the case values from a database and loop through them with a while() loop.

I believe what you are looking for is something along the line of this

foreach ($x as $i) {
    switch($i){
        case $y:
            print 'Variable $x tripped switch: '.$i.'<br>';
            break;
    }
}

No. A switch is a switch but you can use the array-key to pick the right value. Basically in your array you would make key and value is the same and then you can use if function like so:

if ($array[$key]) ....

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM