Önceki başlık :: Sonraki başlık |
Yazar |
Mesaj |
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-04, 13:51:24 Mesaj konusu: DERS-7: PHP ile Döngü İşlemleri |
|
|
Döngüleri size kısaca şöyle tanımlayayım. Diyelim bir veritabanınızda 1000 adet veri var ve bu verileri bir sayfada göstermek istiyorsunuz. Bunu en kolay olarak döngülerle sağlarsınız. Konu çok karmaşık değil, üstelik çok basit.
------------------------------------------------------------------
for ile döngü yapmak
for döngüsü bir şarta bağlı olarak istenen miktarda komutu yada veriyi tekrarlar. Yazım şekli basitçe söyledir.
Alıntı:
|
for (değişken;şart;artma miktarı) {
şart uyuyorsa yapılacak komutlar
}
|
Şimdi bir örnek yazarak konuyu pekiştirelim. Yapacağım işlem programa 1-20 ye kadar saydırmak.
Kod:
|
for($sayi=1;$sayi<=20;$sayi++) {
echo $sayi."-";
}
|
Gördüğünüz gibi çok basit. Kodları açıklayayım.
İlk satırda for döngüsüne başladım ve $sayi adında bir değişken tanımlayıp değerini 1 verdim. Sonrasında $sayi değişkeni 20 den küçük yada ona eşit olmalı dite bir şart koydum. Ve $sayi değişkeninin değerinin birer birer artmasını sağladım.
İkinci satırda ekrana yazdırmasını söyledim. Son satırda ise for döngüsünü kapattım.
$sayi++ demek $sayi değişkenini 1 arttır demektir. Yani $sayi=$sayi+1; değilde $sayi++; kullanabiliriz.
Ya hep böyle mi yazmak lazım, ben başka kodlarda gördüm diyenleriniz olabilir. Elbette hep bu şekilde bir yazım gerekmez. Aynı örneği farklı şekillerde yazayım.
2. YAZIM
Kod:
|
for($sayi=1;$sayi<=20;$sayi++): // iki nokta üst üste var dikkat.
echo $sayi."-";
endfor;
|
3. YAZIM
Kod:
|
for($sayi=1;$sayi<=20;) { //Yazıma dikkat. Kullanılmayan yerine ; kullandım.
echo $sayi."-";
$sayi++;
}
|
4. YAZIM
Kod:
|
for($sayi=1;$sayi<=20; print $sayi."-", $sayi++);
//Dikkat print yerine echo kullanılamaz.
|
5. YAZIM
Kod:
|
$sayi=1;
for(;;) {
if($sayi>20) {
break;
}
echo $sayi."-";
$sayi++;
}
|
6.YAZIM
Kod:
|
For($sayi=1;;$sayi++) {
if($sayi>20) {
break;
}
Echo $sayi."-";
}
|
Aklıma gelenler bunlar. Hangisi hoşunuza giderse onu kullanın. Ben hangi şekli kullanıyorum diye merak ederseniz programın akışına göre hangisi uygunsa onu kullanıyorum. For döngüsü bu kadar.
SORU: 2 den 100 e kadar ikişer ikişer yazdırın bakalım.
------------------------------------------------------------------
While ile döngü yapmak
Kodlara az çok bakanlar bunu sık sık görmüşlerdir. Veritabanındaki verileri ekrana yazdırıyoruz. En çok kullanılan döngülerden biridir. Bir şartın gerçekleşmesi yada gerçekleşmemesi durumunda döngü çalışır.
Altını çizerek belirteyim ki; döngülerde en dikkat edilmesi gereken şey döngünün sonsuz döngüye sokulmaması gerektiğidir. Çünkü döngüler şart gerçekleşinceye kadar tekrarlanır.
Yazım şekli basitçe şu şekildedir.
Alıntı:
|
while(şart) {
şart uygunsa yapılacak komutlar
}
yada
while(şart):
şart yerine geldiyse yapılacak komutlar
endwhile;
|
Şimdi for döngüsü ile yaptığımız örneği while ile yapalım.
Kod:
|
$sayi=1;
while($sayi<=20) {
echo $sayi."-";
$sayi++;
}
|
Gördünüz mü for döngüsü ile arasında bir farkı yok. Örneği açıklayayım kafanız bulanmasın.
İlk satırda $sayi=1; ile $sayi adlı değişkenimize 1 değerini verdik. İkinci satırda döngüyü başlatarak şartımızı belirledik. 3. satırda ekrana yazdırdım. 4. satırda yine bir arttır dedik ve sonunda döngüyü kapattık.
Evet şimdi while ile başka bir örnek vereyim.
Kod:
|
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"5\">";
$dongu=0;
while($dongu<20) {
$sayi=5+$dongu;
echo "<tr>
<td>$dongu</td>
<td> + </td>
<td> 5 </td>
<td> = </td>
<td>$sayi</td>
</tr>";
++$dongu;
}
echo "</table>";
|
Evet biraz farklı bir şey yaptım. Şimdi de başka bir örnek;
Kod:
|
echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">";
$basla=1;
while($basla<=10) {
$sayi=5*$basla;
echo "<tr>
<td align=\"right\"> $basla </td>
<td> x </td>
<td> 5 </td>
<td> = </td>
<td align=\"right\"> $sayi </td>
</tr>";
$basla++;
}
echo "</table>";
|
While ile işimiz bu kadar. SQL sorgularında kullanım için SQL derslerini beklemelisiniz.
------------------------------------------------------------------
do ... while döngüsü
Bu döngüyü şöyle açıklayayım. Bazen öyle bir durumla karşılaşırız ki, döngüde yer alan şartın gerçekleşmemesi durumunda bile döngünün bir kere çalıştırılması gerekebilir. Neden bahsediyom ben şimdi anlarsınız.
Yazım şekli şöyledir.
Alıntı:
|
do {
Şart uygunsa yapılacak komutlar
}
while(şart);
|
Off yine kafanız karıştı değil mi? for ve while kullanırken yazdığımız örneği bununla yazalım mı?
Kod:
|
$sayi=1;
do {
echo $sayi."-";
$sayi++;
}
while($sayi<=20);
|
Şimdi bunun diğer döngülerden farkı nedir? Dikkat ederseniz önce işlem yapıyor sonra şartı kontrol ediyor. Şartı while($sayi<=20); ile sınıyor. Bakın şimdi sonraki şartı değiştirelim ve şu hale getirelim.
Kod:
|
$sayi=1;
do {
echo $sayi."-";
$sayi++;
}
while($sayi<1);
|
Birde bu şartı koyduğumuz for döngüsü yazalım.
Kod:
|
for($sayi=1;$sayi<1;$sayi++) {
echo $sayi."-";
}
|
İkisini ayrı ayrı deneyin.
İlkinde $sayi değişken içeriğinde 1 yazdığı için onu ekrana gösterecek ve sonra şartı kontrol edecek. Şart ona 1 den küçükse diyor. İşte bunu görünce tak diye duracak.
For döngüsünde ise $sayi değişkenine 1 değerini verdik. Şartımızda do döngüsünde kullandığımız şart ile aynı. Yani $sayi 1 den küçükse dedik. Sonuç ne oldu? do-while döngüsü bir kere dönüp şartı kontrol ettiğinden ekrana 1 yazdırdı, for ise ekrana hiç birşey yazdırmadı.
Kafanızın karışıklığı gitmiştir umarım. Şimdi geçelim diğer döngüye.
------------------------------------------------------------------
foreach döngüsü
Bu döngü aslında dizilerle (array) beraber kullanılır. Diğer döngülerden daha kısa ve anlaşılırdır. Ancak dizileri görmediğimiz için ben konuyu ufacık bir örnekle kapatacam.
Kod:
|
$dizi=array('1','2','3','4','5');
foreach ($dizi as $icerik) {
echo $icerik."-";
}
|
Aynı işlemi while ile yapmak isteseydim şöyle yapardım yada daha farklı yapılabilir. Şimdilik dizileri görmediğimizden bu şekilde veriyorum.
Kod:
|
$dizi=array('1','2','3','4','5');
while(list($anahtar, $icerik)=each($dizi)) {
echo $icerik."-";
}
|
Aradaki farka bir bakın. foreach ile ne kadar basitçe dizilerin içeriğini ekrana basıyoruz değil mi? foreach konusuna diziler konumuzda daha ayrıntılı değineceğim.
Bir sonraki dersimizde Dizi nedir? Nasıl yazılır? Dizileri sıralamak, içine değer sokmak, bir değeri silmek, saymak, birleştirmek..vb işlemleri.. göreceğiz.
Yeni dersimize kadar kendinize iyi bakın. Eski dersleri tekrarlamayı unutmayın. |
|
Başa dön |
|
|
Bu Site Google Adsense ile Gelir Elde Ediyor
|
Tarih: 2024-11-21, 15:36:57 Mesaj konusu: Forum Arası Reklamlar |
|
|
|
|
Başa dön |
|
|
mavisce Editör
Kayıt: Nov 18, 2005 Mesajlar: 943 Konum: Trabzon/izmir 61-35
|
Tarih: 2007-08-04, 17:14:52 Mesaj konusu: |
|
|
birer birer saymasını ++ ile göstermişsiniz 2 şer yada 3 er daha fazlasını nasıl saydıracağımızı göstermemeişsiniz 3 artı 4 artı filan yaptım yemedi +2 ve 2+ yaptım yine yemedi o yüzden 2 şer 2 şer 100 e kadar saydıramadım ama 1 er 1 er saydırdım :) |
|
Başa dön |
|
|
serkanyilmaz303 Mesaj: 100+
Kayıt: Aug 14, 2005 Mesajlar: 140 Konum: Ankara
|
Tarih: 2007-08-04, 17:31:50 Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri |
|
|
2-den 100 e
Kod:
|
for($sayi=2;;$sayi=$sayi+2) {
if($sayi>100) {
break;
}
echo $sayi."-";
}
|
|
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-04, 17:33:35 Mesaj konusu: |
|
|
bakalım kim deneyecek diye sordum o soruyu.
Kod:
|
<?PHP
for($sayi=2;$sayi<=100;) {
echo $sayi."-";
/// ikişer sayalım...
$sayi=$sayi+2;
/// ikişer sayalım...
}
?>
|
yada combined-assignment yöntemiyle şöyle yazılır.
Kod:
|
<?PHP
for($sayi=2;$sayi<=100;) {
echo $sayi."-";
$sayi+=2;
}
?>
|
yada serkan arkadaşın örneği gibi.
En son Aliosman tarafından 2007-08-04, 17:37:48 tarihinde değiştirildi, toplam 1 kere değiştirildi |
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-04, 17:35:45 Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri |
|
|
combined-assignment şu şekildedir.
<pre>
KOD Örnek Anlam:
+= $a+=2 $a=$a+2
-= $a-=2 $a=$a-2
/= $a/=2 $a=$a/2
*= $a*=2 $a=$a*2
.= $a.="birmetin" $a=$a"birmetin"</pre> |
|
Başa dön |
|
|
is-mail Mesaj: 500+
Kayıt: Feb 07, 2006 Mesajlar: 908 Konum: İstanbul
|
Tarih: 2007-08-04, 18:05:53 Mesaj konusu: |
|
|
webmasterim kodlarda aklıma yatıramadığım birşey var, şimdi
<?PHP
for($sayi=2;$sayi<=100;) {
echo $sayi."-";
/// ikişer sayalım...
$sayi=$sayi+2;
/// ikişer sayalım...
}
?>
burada echo ile ilk değişkene atanan 2 yazdırılıyor ancak ikinci sayı değişkeni $sayi=$sayi+2; yazdırılmadığı halde ekrana istediğimizi yazdırabiliyoruz. bunun nedeni nedir?.. |
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-04, 18:14:47 Mesaj konusu: |
|
|
Sorduğunu net olarak anlamadım. Az daha açar mısın? |
|
Başa dön |
|
|
is-mail Mesaj: 500+
Kayıt: Feb 07, 2006 Mesajlar: 908 Konum: İstanbul
|
Tarih: 2007-08-04, 18:19:42 Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri |
|
|
Kod:
|
<?PHP
for($sayi=2;$sayi<=100;) {
echo $sayi."-";
/// ikişer sayalım...
$sayi=$sayi+2;
/// ikişer sayalım...
}
?>
|
işleyen scriptimiz bu. burada $sayi=2 ile ilk yazdırılacak sayı "2" taki 100 e kadar. daha sonra echo $sayi."-"; komutu ile her sayı arasına - gelecek şekilde yazdır diyoruz, o da tamam ancak scripte echo $sayi+2; eklemeden arttırılan diğer sayı ekrana nasıl geliyor? umarım anlatabilmişimdir.. |
|
Başa dön |
|
|
Bu Site Google Adsense ile Gelir Elde Ediyor
|
Tarih: 2024-11-21, 15:36:57 Mesaj konusu: Forum Arası Reklamlar |
|
|
|
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-04, 18:36:54 Mesaj konusu: |
|
|
İşte konumuz da bu. Döngüler.
echo $sayi."-"; şeklindeki satır yukarıda belirttiğimiz şart yerine gelinceye kadar dönüyor. Tabii şimdi diyorsun ki tamam ilk sayıyı yazdı anladık, neden ilk sayıdan sonraki sayıları da yazdı son sayıyı yazması gerekmiyor muydu diye düşünebilirsin.
Bak şimdi kodu şu hale getirelim.
Kod:
|
<?PHP
for($sayi=2;$sayi<=100;) {
$sayilar= $sayi."-";
$sayi=$sayi+2;
}
echo $sayilar;
?>
|
Bak bu durumda sadece son sayıyı gösterir. Peki hepsini göstermesini istersek nasıl yazabiliriz. Yazım kuralları konusunda değişmiştim.
echo "yazılar" deyip bunu kapatmayıp alt satırdan . (nokta) yazarak devam edebiliyorduk.
Kod:
|
echo "Deneme"
."deneme2";
|
Burada da aynı mantığı kullanabiliriz.
Kod:
|
<?PHP
for($sayi=2;$sayi<=100;) {
$sayilar .= $sayi."-"; //= önüne . koydum.
$sayi=$sayi+2;
}
echo $sayilar;
?>
|
Bunu denediğinde yukarıdaki sonuçlarla aynı değere ulaşırsın. Oraya echo $sayi+2; koyarsan ne olur bir dene sonucu görürsün.
Özetle şu: Döngülerde ilk yapılan işlem sonucu silinmez, şart sağlandığı sürece oluşan bütün işlemler ilkinin ve ondan sonrakilerin devamı olarak işlenir. |
|
Başa dön |
|
|
is-mail Mesaj: 500+
Kayıt: Feb 07, 2006 Mesajlar: 908 Konum: İstanbul
|
Tarih: 2007-08-04, 18:46:55 Mesaj konusu: |
|
|
şimdi daha iyi oldu webmasterim. teşekkürler..
not: merak eden, scripti çalıştırmak için makinesinde gereken program olmayanlar için echo $sayi+2; yazdığımızda 104 yazdırılıyor :))) .. |
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-04, 18:51:32 Mesaj konusu: |
|
|
is-mail :
|
şimdi daha iyi oldu webmasterim. teşekkürler..
not: merak eden, scripti çalıştırmak için makinesinde gereken program olmayanlar için echo $sayi+2; yazdığımızda 104 yazdırılıyor :))) ..
|
Peki soru.
Kod:
|
<?PHP
for($sayi=2;$sayi<=100;) {
$sayilar .= $sayi."-"; //= önüne . koydum.
$sayi=$sayi+2;
}
echo $sayi+2;
?>
|
yazınca neden ekrana 104 yazıyor? Mantığını çözeni bekliyorum. |
|
Başa dön |
|
|
is-mail Mesaj: 500+
Kayıt: Feb 07, 2006 Mesajlar: 908 Konum: İstanbul
|
Tarih: 2007-08-04, 18:57:19 Mesaj konusu: |
|
|
for döngüsü içerisinde {} sınırlı alanda $sayilar değişkenine $sayi ile 100 değeri veriliyor. ardından $sayi=$sayi+2; ile bu değer 2 artırılıyor ve 102 oluyor ve döngü sona eriyor. endon değer 102 olduğundan echo $sayi+2; ile de 102 üzerine 2 daha eklenip 104 oluyor .. |
|
Başa dön |
|
|
Sercan Mesaj: 1000+
Kayıt: Jan 07, 2006 Mesajlar: 1719 Konum: İstanbuL //
|
Tarih: 2007-08-04, 19:03:09 Mesaj konusu: |
|
|
abi baya düşündüm tek aklıma gelen
sayı 2 sen +2 demişsin
echodada +2 demişsin 104 ediyor
is-mail benden önce davranmış
yazımı düzenlyeyim ==> birde çok güzel kafa karıştırdın abi |
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-04, 19:08:25 Mesaj konusu: |
|
|
peki bir soru daha sorayım anlayanlar ortaya çıksın.
Kod:
|
for($sayi=0;$sayi<=20;) { //Yazıma dikkat. Kullanılmayan yerine ; kullandım.
echo $sayi."-";
$sayi++;
}
|
yazınca ekranda çıkan şekil şu.
0-1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18-19-20-
Ama sorun var. Hadi anladık sayılar arasında - işareti varda sondaki - neyin nesi? Bunu yok edebilecek aranıyor... |
|
Başa dön |
|
|
Sercan Mesaj: 1000+
Kayıt: Jan 07, 2006 Mesajlar: 1719 Konum: İstanbuL //
|
Tarih: 2007-08-04, 19:24:45 Mesaj konusu: |
|
|
Kod:
|
<?php
for($sayi=0;$sayi<=20;) { //Yazıma dikkat. Kullanılmayan yerine ; kullandım.
$sercan = "-";
echo -$sayi;
$sayi++;
}
?>
|
değişik bir çözüm
Kod:
|
<?
for($sayi=0;$sayi<=20;) { //Yazıma dikkat. Kullanılmayan yerine ; kullandım.
echo "."-"$sayi";
$sayi++;
}
?>
|
ali osman abi çikolatıyı bekliyorum |
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-04, 19:31:15 Mesaj konusu: |
|
|
Tamam anladık ta $sercan="-"; ne işe yarıyor?
Matematik yöntemiyle güzel bir çözüm. Sonucu - yazdırmak.
Ancak sayı ya ya 0 dan başlamasaydı o zaman çözüm geçerli olur muydu? Yani
for($sayi=0;$sayi<=20;) {
değilde
for($sayi=2;$sayi<=20;) {
olsaydı. O zaman nasıl bir yol izlememiz gerekirdi? |
|
Başa dön |
|
|
is-mail Mesaj: 500+
Kayıt: Feb 07, 2006 Mesajlar: 908 Konum: İstanbul
|
Tarih: 2007-08-04, 20:04:08 Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri |
|
|
Kod:
|
<?php
for($sayi=1;$sayi<=19;) {
echo $sayi."-";
$sayi++;
}
echo $sayi;
?>
|
|
|
Başa dön |
|
|
Sercan Mesaj: 1000+
Kayıt: Jan 07, 2006 Mesajlar: 1719 Konum: İstanbuL //
|
Tarih: 2007-08-04, 23:52:37 Mesaj konusu: |
|
|
ali osman abi bir soru daha istiyoruz |
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-05, 10:12:24 Mesaj konusu: |
|
|
Çözümle ilgili farklı bir işlem daha vereyim.
Kod:
|
for($sayi=2;$sayi<=20;) {
if($sayi!=20) {
echo $sayi."-";
} else {
echo $sayi;
}
$sayi++;
}
|
Yeni soru diyorsanız işte size bir soru daha. Döngüleri kullanarak 2lerden 9 lara kadar çarpım tablosu oluşturun.
İlk satırda 2,3,4 ve 5, ikinci satırda 6,7,8 ve 9 larla sonuçları göstersin. Öyle çok yormayın kendinizi. Çarpım tablosu yapmanın kolay bir yolu var ama onu sonra gösteririm. Şimdi siz sadece döngülerle yapın. |
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-05, 10:20:38 Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri |
|
|
Kod:
|
<table border="0" cellspacing="0" width="100%">
<tr>
<td width="25%">2 lerin çarpımı</td>
<td width="25%">3 lerin çarpımı</td>
<td width="25%">4 lerin çarpımı</td>
<td width="25%">5 lerin çarpımı</td>
</tr>
<tr>
<td width="25%">6 ların çarpımı</td>
<td width="25%">2 lerin çarpımı</td>
<td width="25%">8 lerin çarpımı</td>
<td width="25%">9 ların çarpımı</td>
</tr>
</table>
|
Tablonuz budur. İçeriğini sizler doldurun. |
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-05, 11:01:02 Mesaj konusu: |
|
|
Evet birkaç arkadaşın isteği üzerine döngülere farklı birkaç örnekle devam ediyorum.
İlk örneğimizin şu şekilde çalışacak. $x, $y, $z adında üç değişkenimiz olacak. Bunların değerleri ilk anda 1 olacak. Sonra $x birer birer, $y ikişer ikişer artacak ve $z ise $x ile $y nin toplamını verecek. Çözümü ben yazıyorum. Çünkü size göstermedim.
Kod:
|
for($x = $y = $z = 1; $x <= 10;$x++,$y+=2,$z=&$top){
$top = $x + $y;
echo "\$x = $x , \$y = $y , ve TOPLAM : \$z = $z <br />";
}
|
Bu benim örnekte ilk anda hepsinin değerini 1 gösterecek. İlk satırda toplamı vermeyecek. Sonraki satırlarda ise işlemi yapacak.
&$top ile $z değişkenine alt tarafta yer alan $top=$x+$y; sonucunu ata diyoruz. Hadi bakalım örnekleri çoğaltın.
Bir başka örneğimiz ise şu şekilde. İçiçe for döngüsü. Yine saydıracaz. Bu defa 0000 dan başlayacak 9999 da bitecek.
Kod:
|
for($a=0;$a<10;$a++){
for($b=0;$b<10;$b++){
for($c=0;$c<10;$c++){
for($d=0;$d<10;$d++){
echo $a.$b.$c.$d.", ";
}
}
}
}
|
Şimdi renk tablosu yapalım
Kod:
|
$colors = array("00", "33", "66", "99", "CC", "FF");
$c= "<table cellspacing=0 cellpaddding=0 border=1>";
for ($i=0; $i<6; $i++) {
for ($j=0; $j<6; $j++) {
$c.= "<tr>";
for ($k=0; $k<6; $k++) {
$thisColor = $colors[$i].$colors[$j].$colors[$k];
$c.= "<td bgcolor=\"#".$thisColor."\">".$thisColor."</td>";
}
$c.= "</tr>";
}
}
$c.= "</table>";
echo $c;
|
Şimdi de A-Z ye kadar yazdıralım. Yazıma dikkat edin.
Kod:
|
for ($i="A"; $i != "AA"; $i++) echo "$i ";
|
Peki bu döngüyü
Kod:
|
for ($i="A"; $i <= "Z"; $i++) echo "$i ";
|
şeklinde yazsaydım ne olurdu?
NOT:
Örneklerin bir kısmı çeşitli kaynaklardan toplama, bir kısmı ise zamanında ben öğrenirken denediğim örneklerden oluşmaktadır. |
|
Başa dön |
|
|
serkanyilmaz303 Mesaj: 100+
Kayıt: Aug 14, 2005 Mesajlar: 140 Konum: Ankara
|
Tarih: 2007-08-05, 12:13:23 Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri |
|
|
Yan yana olmasa nasıl olur
Kod:
|
echo "<table border=\"0\" cellspacing=\"0\"
width=\"100%\">";
echo "<tr>
<td width=\"25%\">2 lerin çarpımı</td>";
echo "<table border=\"1\" cellspacing=\"0\"
cellpadding=\"2\">";
$basla=1;
while($basla<=10) {
$sayi=2*$basla;
echo "<tr>
<td align=\"right\"> $basla </td>
<td> x </td>
<td> 2 </td>
<td> = </td>
<td align=\"right\"> $sayi </td>
</tr>";
$basla++;
}
echo "</table>";
echo "<td width=\"25%\">3 lerin çarpımı</td>";
echo "<table border=\"1\" cellspacing=\"0\"
cellpadding=\"2\">";
$basla=1;
while($basla<=10) {
$sayi=3*$basla;
echo "<tr>
<td align=\"right\"> $basla </td>
<td> x </td>
<td> 3 </td>
<td> = </td>
<td align=\"right\"> $sayi </td>
</tr>";
$basla++;
}
echo "</table>";
echo "
<td width=\"25%\">4 lerin çarpımı</td>";
echo "<table border=\"1\" cellspacing=\"0\"
cellpadding=\"2\">";
$basla=1;
while($basla<=10) {
$sayi=4*$basla;
echo "<tr>
<td align=\"right\"> $basla </td>
<td> x </td>
<td> 4 </td>
<td> = </td>
<td align=\"right\"> $sayi </td>
</tr>";
$basla++;
}
echo "</table>";
echo "<td width=\"25%\">5 lerin çarpımı</td>";
echo "<table border=\"1\" cellspacing=\"0\"
cellpadding=\"2\">";
$basla=1;
while($basla<=10) {
$sayi=5*$basla;
echo "<tr>
<td align=\"right\"> $basla </td>
<td> x </td>
<td> 5 </td>
<td> = </td>
<td align=\"right\"> $sayi </td>
</tr>";
$basla++;
}
echo "</table>";
echo "<td width=\"25%\">6 ların çarpımı</td>";
echo "<table border=\"1\" cellspacing=\"0\"
cellpadding=\"2\">";
$basla=1;
while($basla<=10) {
$sayi=6*$basla;
echo "<tr>
<td align=\"right\"> $basla </td>
<td> x </td>
<td> 6 </td>
<td> = </td>
<td align=\"right\"> $sayi </td>
</tr>";
$basla++;
}
echo "</table>";
echo "<td width=\"25%\">7 lerin çarpımı</td>";
echo "<table border=\"1\" cellspacing=\"0\"
cellpadding=\"2\">";
$basla=1;
while($basla<=10) {
$sayi=7*$basla;
echo "<tr>
<td align=\"right\"> $basla </td>
<td> x </td>
<td> 7 </td>
<td> = </td>
<td align=\"right\"> $sayi </td>
</tr>";
$basla++;
}
echo "</table>";
echo "<td width=\"25%\">8 lerin çarpımı</td>";
echo "<table border=\"1\" cellspacing=\"0\"
cellpadding=\"2\">";
$basla=1;
while($basla<=10) {
$sayi=8*$basla;
echo "<tr>
<td align=\"right\"> $basla </td>
<td> x </td>
<td> 8 </td>
<td> = </td>
<td align=\"right\"> $sayi </td>
</tr>";
$basla++;
}
echo "</table>";
echo "<td width=\"25%\">9 ların çarpımı</td>";
echo "<table border=\"1\" cellspacing=\"0\"
cellpadding=\"2\">";
$basla=1;
while($basla<=10) {
$sayi=9*$basla;
echo "<tr>
<td align=\"right\"> $basla </td>
<td> x </td>
<td> 9 </td>
<td> = </td>
<td align=\"right\"> $sayi </td>
</tr>";
$basla++;
}
echo "</table>";
echo "</tr>";
echo "</table>";
echo "SHB";
|
|
|
Başa dön |
|
|
is-mail Mesaj: 500+
Kayıt: Feb 07, 2006 Mesajlar: 908 Konum: İstanbul
|
Tarih: 2007-08-05, 13:50:52 Mesaj konusu: |
|
|
tablo kullanmadım ama umarım arkadaşlara bazı fikirler verir
Kod:
|
<?php
for ($a=1;$a<=8;){
$a++;// bununla birlikte enson 9 olacak ve döngü çoktan bitmiş olacak
echo " $a ların çarpımı<br>";
for ($b=1;$b<=9;){
$b++; // bununla birlikte enson 10 olacak ve döngü çoktan bitti
$islem = $a*$b; // sıra buraya her geldiğinde var olan değerleri kaybetmeden tutup işleme alalım
echo " $a X $b =". $islem."<br>";
if ($b==10){// X işleminin sağ tarafı 10 olunca bir satır atla ki karışmasın :))
echo "<br>";
}
}
}
?>
|
|
|
Başa dön |
|
|
Aliosman Teknik Yönetici
Kayıt: Jul 20, 2002 Mesajlar: 3836 Konum: Balıkesir
|
Tarih: 2007-08-05, 16:44:46 Mesaj konusu: |
|
|
Serkan eline sağlık. Yeni biri için fena değil. Yalnız HTML yazım hatası var. Onu da düzeltirsen fena olmaz.
Ben aslında is-mail arkadaşın yazdığı gibi birşey bekliyorum. Ama tablo içine sokacaksınız
Tabii bu arada is-mail arkadaşın örneğinde hata var. Doğrusu şu şekilde.
Kod:
|
for ($a=2;$a<=9;){
echo " $a ların çarpımı<br>";
for ($b=1;$b<=10;){
$islem = $a*$b; // sıra buraya her geldiğinde var olan değerleri kaybetmeden tutup işleme alalım
echo " $a X $b =". $islem."<br>";
if ($b==10){// X işleminin sağ tarafı 10 olunca bir satır atla ki karışmasın :))
echo "<br>";
}
$b++; // bununla birlikte enson 10 olacak ve döngü çoktan bitti
}
$a++;// bununla birlikte enson 9 olacak ve döngü çoktan bitmiş olacak
}
|
|
|
Başa dön |
|
|
is-mail Mesaj: 500+
Kayıt: Feb 07, 2006 Mesajlar: 908 Konum: İstanbul
|
Tarih: 2007-08-05, 17:34:15 Mesaj konusu: |
|
|
webmasterim heriki kodda da aynı çıktılar veriliyor (yoksa yanlışmı baktım ??), yanlışımı anlamadım :)) .. |
|
Başa dön |
|
|
|