Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: Aukioloaikojen tiivistäminen

Petja [06.04.2012 15:46:21]

#

Oletetaan, että minulla on jokin tämän kaltainen array aukioloaikojen hakemisen jälkeen tietokannasta:

array("ma"=>array(10,18),"ti"=>array(10,18),"ke"=>array(10,18),"to"=>array(9,15),...)

Miten saisin tiivistettyä peräkkäisten päivien aukioloajat simppelisti siten, että lopputuloksena olisi:

array("ma-ke"=>array(10,18),"to"=>array(9,15),...)

Grez [06.04.2012 16:06:45]

#

$ajat = array("ma"=>array(10,18),"ti"=>array(10,18),"ke"=>array(10,18),"to"=>array(9,15));
$tiivis = array();
$edAika = null;
foreach ($ajat as $pv => $aika) {
	if ($edAika != $aika) {
		if ($edAika != null) $tiivis[$ekaPv.(($ekaPv==$vikaPv)?'':('-'.$vikaPv))] = $edAika;
		$ekaPv = $pv;
		$edAika = $aika;
	}
	$vikaPv = $pv;
}
$tiivis[$ekaPv.(($ekaPv==$vikaPv)?'':('-'.$vikaPv))] = $edAika;

Petja [06.04.2012 16:13:17]

#

Tattista, sehän tuntuu toimivan!
Ei olisi omat taidot taas tähänkään riittänyt.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta