设置一系列PHP if语句,以便从中提取代码



我有一大堆值,这些值需要与其他值相对应。到目前为止,我已经按照下面的方式设置了一个数组:

$result = array(
1 => 'Red',
2 => 'Orange',
3 => 'Yellow',
4 => 'Green'
);

我还有一个变量$input它提供了一个数值。

我得想个办法说:

<?php if $input = any of the values in the array, then display its corresponding colour. 

我的数组列表最终会有数百个值,所以如果有更好的方法来实现这一点,我洗耳恭听。必须在PHP中。

如何才能最好地实现这一点?非常感谢任何帮助提前!

这可以很容易地完成使用isset函数:

<?php
$result = array(
1 => 'Red',
2 => 'Orange',
3 => 'Yellow',
4 => 'Green'
);
$input = 3;
if (isset($result[$input]))
echo $result[$input] . PHP_EOL;

查找范围:

$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;
}
}

注意:如果不小心范围以某种方式重叠,此代码将会爆炸。