[Linux-programlama] Re: çalışma süresi hesaplama hk.

---------

[Linux-programlama] Re: çalışma süresi hesaplama hk.

From: ilyas OZGOREN <iozgoren_at_yahoo.com>
Date: Fri, 17 Oct 2008 01:52:48 -0700 (PDT)
Message-ID: <108323.97469.qm@web50812.mail.re2.yahoo.com>

$array=array ( "0" => Array ( "bas" => "2008-04-10", "bit" => "2008-04-21" ), "1" => Array ( "bas" => "2008-06-24", "bit" => "2008-06-25" ), "2" => Array ( "bas" => "2008-06-24", "bit" => "2008-09-10" ), "3" => Array ( "bas" => "2008-06-24", "bit" => "2008-07-22" ), "4" => Array ( "bas" => "2008-09-04", "bit" => "2008-09-10" ) ); $trhler=array(); foreach ($array as $trh) { for ($z = strtotime($trh[bas]); $z < strtotime($trh[bit]); $z=$z+86400) { if(!in_array($z,$trhler)) $trhler[]=$z; } } $gun=count($trhler); Hocam şöyle bi mantıkla sorunumu çözdüm gibi ama saçma mı oldu dersin? ----- Original Message ---- From: Omer Barlas <omer@serbestcagrisim.com> To: linux-programlama@liste.linux.org.tr Sent: Friday, October 17, 2008 9:34:47 AM Subject: [Linux-programlama] Re: çalışma süresi hesaplama hk. ilyas OZGOREN @ 16.10.2008 22:57: > Hocam bilgilerin için teşekkür ederim sanırım biraz eksik bilgi verdim > benim sorduğum şey mysql de bir table içinde ki kayıtlar değil aşağıdaki > tablo bir array içerisinde ve array içerisndeki kayıtlara göre olucak hocam tüm kayıtları ayrı birer array olarak düşünün; array( 0 => array( "baslangic" => "2007-12-04", "bitis" => "2008-02-21" ), 1 => array( "baslangic" => "2007-12-04", "bitis" => "2008-02-21" ), 2 => array( "baslangic" => "2007-12-04", "bitis" => "2008-02-21" ), 3 => array( "baslangic" => "2007-12-04", "bitis" => "2008-02-21" ), .... n => array( ..... ) ) daha sonra her seferinde array'i resetleyerek teker teker çalışma aralıklarını deneyin; for ($i = 0; $i < count($array); $i++) { $veri = $array[$i]; reset($array); // array indexi geri döndürelim; for ($z = 0; $z < count($array); $z++) { $kontrol = $array[$z]; if ($veri["baslangic"] >= $kontrol["baslangic"] and $veri["bitis"] <= $kontrol["bitis"] and $i != $z) { // bir şey yapma. } else { echo $kontrol["baslangic"] . " - " . $kontrol["bitis"] . " = " . ((strtotime($kontrol["bitis"])-strtotime($kontrol["baslangic"]))/86400); } } } gibi... kodun daha düzgün görünümü için bkz; http://pastebin.com/f374488f4 -- Omer Barlas omer@serbestcagrisim.com _______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr http://liste.linux.org.tr/mailman/listinfo/linux-programlama __________________________________________________ Yahoo! kullanıyor musunuz? İstenmeyen postadan bıktınız mı? Yahoo! Posta'da piyasanın en iyi istenmeyen posta korunması var http://tr.mail.yahoo.com

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Fri 17 Oct 2008 - 11:09:47 EEST

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.