Reputation: 337
I have a whole bunch of values, that need to correspond to some other values. I've so far setup an array as per the below:
$result = array(
1 => 'Red',
2 => 'Orange',
3 => 'Yellow',
4 => 'Green'
);
I also have a variable, $input that provides a number value.
I need to figure out a way to say something like:
<?php if $input = any of the values in the array, then display its corresponding colour.
My array list will end up having hundreds of values in it, so if there is a much better way to achieve this I'm all ears. It just must be in PHP.
How could this best be achieved? Many thanks for any help in advance!
Upvotes: 0
Views: 35
Reputation: 3608
This can be accomplished quite easily using the isset
function:
<?php
$result = array(
1 => 'Red',
2 => 'Orange',
3 => 'Yellow',
4 => 'Green'
);
$input = 3;
if (isset($result[$input]))
echo $result[$input] . PHP_EOL;
To find within a range:
$result = [
'1-2' => 'Red',
'2-5' => 'Orange',
'6-9' => 'Yellow',
'10-20' => 'Green'
];
$input = 8;
foreach ($result as $range => $colour) {
$split = explode('-', $range);
if ($input >= $split[0] && $input <= $split[1]) {
echo $colour . PHP_EOL;
}
}
Note: This code would blow up if you accidentally had ranges overlap in some way.
Upvotes: 2