У меня есть следующее:
У меня есть определенное значение 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
)
Я сделал это, и это сработало:
<?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'])
Других решений пока нет …