<?php
$sessions=json_decode('[
{"heure_debut":"08:00","heure_fin":"09:00","attr":"test"},
{"heure_debut":"09:10","heure_fin":"10:00"},
{"heure_debut":"10:00","heure_fin":"11:00"},
{"heure_debut":"11:00","heure_fin":"12:00","bla":"bla"},
{"heure_debut":"12:00","heure_fin":"13:00"},
{"heure_debut":"13:00","heure_fin":"14:30"}
]',TRUE);
function uncut_seances($sessions) {
$result = NULL;
if(is_array($sessions) AND count($sessions)>0 AND isset($sessions[0]["heure_debut"]) AND isset($sessions[0]["heure_fin"]))
{
$real_sessions[] = $sessions[0];
$j = 0;
for ($i = 1; $i < count($sessions); $i++) {
if ($real_sessions[$j]["heure_fin"] === $sessions[$i]["heure_debut"]) {
$real_sessions[$j]["heure_fin"] = $sessions[$i]["heure_fin"];
} else {
$real_sessions[] = $sessions[$i];
$j++;
}
}
$result = $real_sessions;
}
return $result;
}
print_r(uncut_seances($sessions));
preferences:
48.62 ms | 402 KiB | 5 Q