找出这个组的价值所在

时间:2014-03-08 03:03:13

标签: php arrays range

我也想知道如何找到$ var为的数组 示例$ var = 150,数组为[2]

$var = 150 

$base[0] = 0; 
$base[1] = 60; 
$base[2] = 3600; 
$base[3] = 86400; 
$base[4] = 31536000; 

有没有办法,不必使用几个'ifs'?

我正在寻找数组中第一个元素的索引,该索引大于$ var

2 个答案:

答案 0 :(得分:1)

如果我的问题正确,你想找到数组中一个大于指定元素的值的索引,

您可以使用while循环;

$i = 0;
while(isset($base[$i]) && $base[$i] <= $var){$i++}
// $i may now contain the index of the first element greater than $var

有时,数组中的值可能不大于$ var,因此在获取索引$ i后,您需要检查该值是否更大,然后访问它。喜欢:

if($base[$i] > $var) {...}

答案 1 :(得分:1)

好的我正在根据David Knipe的评论回答这个问题

foreach ($base as $key => $value) {
    if ($var >== $value) {
        $finalkey = $key;
        break;
    }
}

echo $finalkey;