Мне нужно получить минимальное и максимальное значение этого часа с помощью php:
{"1":[{"start":"09:00","end":"13:00"},{"start":"15:00","end":"18:30"}],"2":[{"start":"08:30","end":"13:00"},{"start":"15:00","end":"18:30"}],"3":[{"start":"09:00","end":"13:00"},{"start":"15:00","end":"18:30"}],"4":[{"start":"08:30","end":"13:00"},{"start":"15:00","end":"19:30"}],"5":[{"start":"08:30","end":"13:00"},{"start":"15:00","end":"19:30"}],"6":[{"start":"08:30","end":"13:30"},null],"7":[null,null]}
Моя текущая реализация ниже, и она не работает:
$json='{"1":[{"start":"09:00","end":"13:00"},{"start":"15:00","end":"18:30"}],"2":[{"start":"08:30","end":"13:00"},{"start":"15:00","end":"18:30"}],"3":[{"start":"09:00","end":"13:00"},{"start":"15:00","end":"18:30"}],"4":[{"start":"08:30","end":"13:00"},{"start":"15:00","end":"19:30"}],"5":[{"start":"08:30","end":"13:00"},{"start":"15:00","end":"19:30"}],"6":[{"start":"08:30","end":"13:30"},null],"7":[null,null]}';
$arr=json_decode($json,true);
$hmin='12:00';$hmax='12:00';
foreach ($arr as $k=>$v) {
foreach ($v as $i=>$j) {
if (isset($ohmin) && strstr($j['start'],":")!="") $hmin=min($ohmin,$j['start']);
if (isset($ohmax) && strstr($j['end'],":")!="") $hmax=max($ohmax,$j['end']);
$ohmin=$hmin;
$ohmax=$hmax;
}
}