Как искать в ассоциативном массиве, если значение находится между двумя элементами

У меня есть следующее:

У меня есть определенное значение 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 находится между элементом а & б. В примере строка 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
)

1

Решение

Я сделал это, и это сработало:

<?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'];
}

?>

Выход: кошка

На самом деле это базовое программирование. Вам просто нужно перебрать строки и проверить, находится ли желаемое число между begin а также end переменные. В этом случае, a а также b,

затем echo значение, которое вы хотите, или сделать что-то еще.

В этом коде, если $number = 12;Эхо

Домашняя кошка

Таким образом, вы не захотите проверять, больше он или равен, но вместо этого просто проверить, больше ли он и не равен b,

Как это:

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

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector