如何在PHP中的多维数组中搜索值是否在某个范围内?

如何在PHP中的多维数组中搜索值是否在某个范围内?,php,arrays,Php,Arrays,这是一个简单的问题,但让我困惑: $myarray = array( array(10,20), array(299, 315), array(156, 199) ); 如何检查给定的$x是否位于这些特定的单个数组值之间?我想搜索每个条目数组 例如,我想搜索,如果$x介于:10到20之间,然后介于299到315之间,然后介于156到199之间,这就可以了 foreach($myarray as $value) { if(in_array("10", $value, tr

这是一个简单的问题,但让我困惑:

$myarray = array(
    array(10,20),
    array(299, 315),
    array(156, 199)
);
如何检查给定的
$x
是否位于这些特定的单个数组值之间?我想搜索每个条目数组

例如,我想搜索,如果
$x
介于:
10
20
之间,然后介于
299
315
之间,然后介于
156
199
之间,这就可以了

foreach($myarray as $value)
{
if(in_array("10", $value, true))
{
    echo "Got 10";
}
}
试试这个:

function is_in_array_range($array, $search) {
    foreach ($array as $value) {
        $min = min($value);
        $max = max($value);

        if ($search >= $min && $search <= $max) {
            return true;
        }
    }

    return false;
}

$myarray = array(
    array(10,20),
    array(299, 315),
    array(156, 199)
);

is_in_array_range($myarray, 9);  // Returns false
is_in_array_range($myarray, 11); // Returns true
函数在数组范围内($array,$search){
foreach($array作为$value){
$min=min($value);
$max=最大值($value);

如果($search>=$min&&$search可能重复Yes,可能是n该问题有155张赞成票,但不是这样问的。对吗?但是,请记住我的问题-介于两者之间。不是“包含”。你必须更具体地说明你在这里试图实现的目标。到目前为止,你尝试了哪些代码?@luna.romia你想通过一个变量吗我不是在搜索10和20,而是在搜索$x是否为10,11,12…19,20。很好的方法,我有一些类似的东西,但是没有太多的用处。我没有考虑使用最小值和最大值作为值。同样,对于OP,答案将是完整的,并对什么进行了一些澄清“你做得对吗?”Rimble打得很好。@ivar非常棒的方法。有人能投票支持我的问题吗:)@luna.romania这不是一个很好的问题,几乎没有代码显示你在哪里实际尝试并找到你想要的结果。总的来说,这不是我个人会支持的东西。你读过吗?在标题中加入独特的想法对你的问题没有帮助。