如果值在两个元素之间,如何搜索关联数组


How to search an Associative array if a value is between two elements

我有以下内容:

我有一个14.50 的特定值

以及以下关联数组:

                  element a      element b        element c
row 1              8              12                house
row 2              12             15                cat
row 3              17             20                pizza

有人知道我如何检查14.50在元素a&b.在示例行2中。

我想得到价值猫。如果值是4,我想给第一个值"房子"。。。

请注意:)

  Array
  (
      [0] => Array
          (
              [medewerker] => 799
              [datum] => 2016-04-14 00:00:00
              [uursoort] => Reisuur
              [uurcode] => RNV
              [project] => 
              [begin] => 7.50
              [eind] => 8.00
              [uren] => 0.5
              [cumulatiefOud] => 0
              [cumulatief] => 0
              [overuren125] => 0
              [overuren150] => 0
          )
      [1] => Array
          (
              [medewerker] => 799
              [datum] => 2016-04-14 00:00:00
              [uursoort] => Werkuur
              [uurcode] => DNV
              [project] => 
              [begin] => 8.00
              [eind] => 16
              [uren] => 8
              [cumulatiefOud] => 0
              [cumulatief] => 8
              [overuren125] => 0
              [overuren150] => 0
          )
      [2] => Array
          (
              [medewerker] => 799
              [datum] => 2016-04-14 00:00:00
              [uursoort] => Werkuur
              [uurcode] => DEV125
              [project] => 
              [begin] => 8.00
              [eind] => 16.25
              [uren] => 0.25
              [cumulatiefOud] => 8
              [cumulatief] => 8.25
              [overuren125] => 0.25
              [overuren150] => 0
          )

我做了这个,它起了作用:

<?php
$arr = array();
$arr[1]['a'] = 8;
$arr[1]['b'] = 12;
$arr[1]['c'] = 'house';
$arr[2]['a'] = 12;
$arr[2]['b'] = 15;
$arr[2]['c'] = 'cat';
$arr[3]['a'] = 17;
$arr[3]['b'] = 20;
$arr[3]['c'] = 'pizza';
$number = 14.5;
foreach($arr as $row)
{
    if ($number >= $row['a'] && $number <= $row['b'])
    echo $row['c'];
}
?>

输出:cat

实际上,这是基本的编程。您只需要遍历各行,并验证所需的数字是否在beginend变量之间。在这种情况下,ab

然后echo您想要的值,或者做其他事情。

在该代码中,如果$number = 12;,它将回声

家猫

因此,您不想验证它是否更大或相等,而只需检查它是否大于且不等于b

像这样:

if ($number > $row['a'] && $number <= $row['b'])