|
|
#1 (permalink) |
|
Üyelik Tarihi: 27.01.2008
Yer: İstanbul
Mesaj: 3
|
Mantık kuramadım
Öncelikle aranıza yeni katıldım merhaba arkadaşlar... İlk mesajımın yardım etme amaçlı olmasını isterdim fakat okulda ders seçimleri yaklaşıyor ve kolaylık olması ve birazda PHP ilerlemesi amaçlı herşeye program yazdığımdan dolayı şimdide bir ders programı hazırlama programı yazıyorum... Dersler sisteme Ders adı ve "TTT 123" "TWW 123" "TFF 123" şeklinde giriliyor yani günlerin ilk harfleri ve son 3 rakamda karşısındaki günün saati şeklinde... sadece bu şekilde girilse hani 3 harfe 3 sayı olsa birşeyler yapabilirdim, fakat bir istisna var oda "TTTh 123" şeklindede olabiliyor. Yani Tuesday ve Thursday aynı harfle başladığı için 2 harften oluşuyor. okul bu şekilde vermiş... Benim 2 gündür kafamda kurmaya çalışıp kuramadığım şey posttan gelen "ThThW 123" gibi bi veriyi nasıl olucakta "Thursday 1" "Thursday 2" "Wednesday 3" şeklinde ayrı ayrı değişkenlere parçalayacağım ve aynı şekilde "TTT 234" ü "Tuesday 2", "Tuesday3", "Tuesday 4" şeklinde parçalamak... 2 tane PHP kitabımdan metinler üzerine uygulayabileceğim çoğu şeye bakmama rağmen bir mantık üretemedim. Umarım anlatabilmişimdir. Yardımlarınız için şimdiden teşekkür ederim. |
|
|
|
|
|
#2 (permalink) |
|
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 |
|
|
|
|
Zoque'a hoşgeldiniz!