Konu Başlığı: Mantık kuramadım
View Single Post
Sponsorlu Bağlantılar
Zoque.Forum
Advertisement
Old 29.01.2008   #2 (permalink)
scriptMan
 
scriptMan's Avatar
 
Üyelik Tarihi: 23.04.2003
Yer: İstanbul
Mesaj: 663
Görsel: 19
Re: Mantık kuramadım

ozberk öncelikle hoşgeldin aramıza

Mesajını okuduktan hemen sonra aşağıdaki kodu yazdım, normalde bu işin hakkı "Regular Expressions" kullanmaktır, lakin ben RegExp patternleri konusunda çok bilgili değilim, o yüzden bu hızlıca ve "amele usülü" yazılmış kod geçici bir süre işini görecektir.

Kod:
//ders ve haftalik program bilgileri..
$lessons = array("E"=>"Edebiyat","M"=>"Matematik","A"=>"Anatomi");
$timings = array("E"=>"TThTh 123","M"=>"TWM 211","A"=>"ThMW 310");

//haftalik program bilgisini string islemleri ile parse edecek fonksiyon
function parseSchedule($sTiming)
{
	$aDayHours = explode(" ",$sTiming);
	
	//gunler
	$days = $aDayHours[0];
	//saatler
	$times = $aDayHours[1];
	
	//gun bilgisini parse etmeye baslayabiliriz..
	$replaced = str_replace("Th","&",$sTiming);
	
	$d0 = substr($replaced,0,1);
	$d1 = substr($replaced,1,1);
	$d2 = substr($replaced,2,1);
	
	//simdi de zaman bilgisini bolelim..
	$t0 = substr($times,0,1);
	$t1 = substr($times,1,1);
	$t2 = substr($times,2,1);
	
	//hepsini toplayalim..
	$joinedString = $d0.":".$t0.",".$d1.":".$t1.",".$d2.":".$t2;
	$joinedString = str_replace("&","Th",$joinedString);
	
	//simdi bunlari arrayde birlestirecegiz..
	$cache = explode(",",$joinedString);
	return $cache;
}


//kodun kalan kismi dizi dongusu ve fonksiyonun cagirilmasi vs..
foreach($lessons as $code=>$lessonName)
{
	$timing = $timings[$code];
	if($timing)
	{
		//bu derse ait program bulunmasi durumu..
		$timingParsed = parseSchedule($timing);
		
		print $lessonName."<br>";
		for($i=0;$i<count($timingParsed);$i++)
		{
			$timeInfo = $timingParsed[$i];
			print substr($timeInfo,0,strpos($timeInfo,":")).": ".substr($timeInfo,strpos($timeInfo,":")+1,1)."<br>";
		}
		print "<br><br>";
	}
}
__________________
http://scriptman.deviantart.com
scriptMan şu an çevrimdışı   Mesajdan alıntı yaparak yeni bir cevap ekleyin