I often find myself needing a simple PHP lookup table where I don't want to bother using a database.
For instance, I might have:
1 stands for "Good"
2 stands for "Bad"
3 stands for "Ugly"
Two ways it could be implemented are shown below. Is one more efficient than the other? Is there any other more intuitive ways to implement this?
switch($code)
{
case 1:$result="Good";break;
case 2:$result="Bad";break;
case 3:$result="Ugly";break;
default:$result=NULL;
}
$array=array(1=>"Good",2=>"Bad",3=>"Ugly");
$result=$array[$code];
It's a matter of what are you going to do with your lookup.
case
or array
that way at all.So, case
option is inferior in most cases, as it is less scalable and not able to change in run time.
To simulate the default
case, use something like
$result = in_array($key, $lookup) ? $lookup[$key] : $default;
The second example. The main reason being that it's less code to write in new entries, but it's also more flexible code, and might be marginally faster. But to implement the default
case from the break statement the 'lookup' line/function should look like:
$result = (isset($array[$code]) ? $array[$code] : NULL;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With