Работа с range в PHP
Осваиваю синтаксис этого замечательного языка, и вот первый камень преткновения:
Есть такой массив:
$quarters = array(1 => range(0, 15), 2 => range(16, 30), 3 => range(31, 45), 4 => range(46, 59));
И есть функция, принимающая на вход число:
function getQuarterOfAnHour($value){}
Как мне можно проверить $value на то, что он входит в один из диапазонов $quarters и вернуть ключ этого диапазона?
Ответы (2 шт):
Автор решения: Yaroslav Molchan
→ Ссылка
Достаточно циклом пройтись по $quarters и проверить через in_array есть значение в массиве значений range или нет:
function getQuarterOfAnHour($value) {
$quarters = array(1 => range(0, 15), 2 => range(16, 30), 3 => range(31, 45), 4 => range(46, 59));
foreach ($quarters as $key => $range) {
if (in_array($value, $range)) {
return $key;
}
}
}
var_dump(getQuarterOfAnHour(34)); // 3
Вот как-то так, только тут может быть null при условии, если значение больше 60, тоже стоит учитывать.
Автор решения: IAMLERNCSHARP
→ Ссылка
Сделал так:
function getQuarterOfAnHour($someValue){
global $quarters;
foreach ($quarters as $k => $v){
if(in_array($someValue, $v)) return $k;
}
}