Ciao a tutti, ho un mistero da risolvere... ho questo codice:
codice:
$fasce_orarie=array('09:00-10:00'=>array("$est"),
'10:00-11:00'=>array("$est"),
'11:00-12:00'=>array("$est"),
'12:00-13:00'=>array("$est"),
'13:00-14:00'=>array("$est"),
'14:00-15:00'=>array("$est"),
'15:00-16:00'=>array("$est"),
'16:00-17:00'=>array("$est"),
'17:00-18:00'=>array("$est"),
'18:00-19:00'=>array("$est"));
$key=array_keys($fasce_orarie); // contiene le chiavi dell'array con tutti gli orari possibili esempio 09:00-10:00
DEVO CONTROLLARE CHE L'ORARIO SCELTO DA UN UTENTE, MEMORIZZATO IN $ORARI SIA TRA QUELLI CHE HO DEFINITO NELL'ARRAY
FACCIO COSÌ :
$checkIn=in_array($orari,$key);
if($checkIn==true){
// se si allora aggiorno il valore della variabile est ed elimino da fasce_orarie la rispettiva chiave
for($i=0;$i<=count($fasce_orarie);$i++){
if($key[$i]=$orari) {
$est=$estensione;
$fasce_orarie[$key[$i]]=$est;
$flag="occupato";
}
if($key[$i]!="") {
$canc=$key[$i];
$libero=my_array_delete($fasce_orarie,$canc);
// restituisco l'array dopo averla re-indicizzata
}
}
}
function my_array_delete($fasce_orarie, $item) {
if (isset($fasce_orarie[$item]))
unset($fasce_orarie[$item]);
return array_merge($fasce_orarie);
}
SE L'ORARIO NON SCELTO NON È TRA QUELLI SICCOME POSSO AVERE ALTRE POSSIBILITÀ , OVVERO L'UTENTE PUÒ DECIDERE DI PROLUNGARE DA 1 A 3 ORE L'ORARIO DI BASE CHE HA SCELTO HO PENSATO DI FARE TUTTI I POSSIBILI CONTROLLI IN QUESTO MODO:
if($orari="09:00-13:00"){
for($i=0;$i<4;$i++) {
$est=$estensione;
$fasce_orarie[$key[$i]]=$est;
if($fasce_orarie[$key[$i]]=3) {
$canc=$key[$i];
$libero=my_array_delete($fasce_orarie,$canc);
// restituisco l'array dopo averla re-indicizzata
}
}
}
IN $CANC VANNO A FINIRE GLI ORARI INTERMEDI DA ELIMINARE, MA IN QUESTO CASO LA FUNZIONE "my_array_delete" CANCELLA SOLO L'ULTIMO E NON TUTTI
PERCHÈ ??