PHP获取key在一个范围之间的值

时间:2016-10-17 14:46:41

标签: php

是否有任何有效的方法来获取价值。关键在范围之间? 例如。我想要一个键为13的值或该数组中包含13的任何范围。因为你可以看到第二个元素的范围是11-25。所以我应该得到那个价值。因为11-25还包括13

$array = array(
    '0-10'   => 'a Value',
    '11-25'  => 'another Value',
    '26-50'  => 'value',
    '51-100' => 'another string'
);

3 个答案:

答案 0 :(得分:1)

最简单的方法是使用array_mapexplode函数使用以下方法:

$search_key = 13;
$result = '';

foreach ($array as $k => $v) {
    $range = array_map('intval', explode('-', $k));
    if ($search_key >= $range[0] && $search_key <= $range[1]) {
        $result = $v;
        break;
    }
}

print_r($result);  // "another Value"

答案 1 :(得分:1)

以下是您可以做的事情:

function findInRange($number, $array)
{
    foreach ($array as $key => $value) {
        list($min, $max) = explode('-', $key);

        if ($number >= $min && $number <= $max) {
            return $value;
        }
    }

    return null;
}

$number = 13;
$array = [
    '0-10' => 'a Value',
    '11-25' => 'another Value',
    '26-50' => 'value',
    '51-100' => 'another string'
];

$result = findInRange($number, $array);

var_dump($reesult);

答案 2 :(得分:0)

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath)