Anasayfa FORUMLAR Üye Girişi Dosyalar Dersler İpuçları Yardımcı Araçlar Hakkımızda
KİMLER BAĞLI
Toplam Üye: 32638
Aktif Üye: 0
Aktif Ziyaretçi: 830
Üye Adı
Şifre
Beni Hatırla
          Yeni Üye KayıtYeni Üye Kayıt
          Şifremi UnuttumŞifremi Unuttum
FORUMLAR
 php nuke kurulum tam anla..
(5936 okuma, 5 yanıt)
 Ders 10: Form işlemleri-1..
(18935 okuma, 25 yanıt)
 DERS-3: Değişkenler..
(21971 okuma, 29 yanıt)
 DERS-1: PHP Derslerine Ba..
(17963 okuma, 23 yanıt)
 DERS-5: Program Denetleme..
(24156 okuma, 33 yanıt)
 DERS-2: PHP Yazım Kuralla..
(32211 okuma, 48 yanıt)
 DERS-9: Fonksiyonlar..
(9586 okuma, 10 yanıt)
 DERS-4: Matematik ve mant..
(10718 okuma, 12 yanıt)
 DERS-8: Diziler..
(20036 okuma, 29 yanıt)
 DERS-7: PHP ile Döngü İşl..
(31624 okuma, 52 yanıt)
 DERS-6: Program Denetleme..
(8809 okuma, 10 yanıt)
Netopsiyon Online: Forums
Netopsiyon Online :: Başlık görüntüleniyor - DERS-7: PHP ile Döngü İşlemleri
 AramaArama   RütbelerRütbeliler   ProfilProfil   GirişGiriş 


DERS-7: PHP ile Döngü İşlemleri
Sayfaya git 1, 2, 3  Sonraki
 
Bu forum kilitlendi: mesaj gönderemez, cevap yazamaz ya da başlıkları değiştiremezsiniz   Bu başlık kilitlendi: mesajları değiştiremez ya da cevap yazamazsınız    Netopsiyon Online Forum Ana Sayfa -> PHP -> PHP Dersleri
Önceki başlık :: Sonraki başlık  
Yazar Mesaj
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-04, 13:51:24    Mesaj konusu: DERS-7: PHP ile Döngü İşlemleri Alıntıyla Cevap Gönder

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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
Bu Site Google Adsense ile Gelir Elde Ediyor









Tarih: 2024-03-29, 13:51:14    Mesaj konusu: Forum Arası Reklamlar


Başa dön
mavisce
Editör
Editör





Kayıt: Nov 18, 2005
Mesajlar: 943
Konum: Trabzon/izmir 61-35

MesajTarih: 2007-08-04, 17:14:52    Mesaj konusu: Alıntıyla Cevap Gönder

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 Very Happy +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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
serkanyilmaz303
Mesaj: 100+
Mesaj: 100+





Kayıt: Aug 14, 2005
Mesajlar: 140
Konum: Ankara

MesajTarih: 2007-08-04, 17:31:50    Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri Alıntıyla Cevap Gönder

2-den 100 e
Kod:

for($sayi=2;;$sayi=$sayi+2) {
   if($sayi>100) {
   break;
   }
echo $sayi."-";
}
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-04, 17:33:35    Mesaj konusu: Alıntıyla Cevap Gönder

Very Happy 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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-04, 17:35:45    Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri Alıntıyla Cevap Gönder

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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
is-mail
Mesaj: 500+
Mesaj: 500+





Kayıt: Feb 07, 2006
Mesajlar: 908
Konum: İstanbul

MesajTarih: 2007-08-04, 18:05:53    Mesaj konusu: Alıntıyla Cevap Gönder

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
Kullanıcının profilini görüntüle Özel mesaj gönder
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-04, 18:14:47    Mesaj konusu: Alıntıyla Cevap Gönder

Sorduğunu net olarak anlamadım. Az daha açar mısın?
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
is-mail
Mesaj: 500+
Mesaj: 500+





Kayıt: Feb 07, 2006
Mesajlar: 908
Konum: İstanbul

MesajTarih: 2007-08-04, 18:19:42    Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri Alıntıyla Cevap Gönder

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
Kullanıcının profilini görüntüle Özel mesaj gönder
Bu Site Google Adsense ile Gelir Elde Ediyor









Tarih: 2024-03-29, 13:51:14    Mesaj konusu: Forum Arası Reklamlar


Başa dön
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-04, 18:36:54    Mesaj konusu: Alıntıyla Cevap Gönder

İş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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
is-mail
Mesaj: 500+
Mesaj: 500+





Kayıt: Feb 07, 2006
Mesajlar: 908
Konum: İstanbul

MesajTarih: 2007-08-04, 18:46:55    Mesaj konusu: Alıntıyla Cevap Gönder

ş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
Kullanıcının profilini görüntüle Özel mesaj gönder
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-04, 18:51:32    Mesaj konusu: Alıntıyla Cevap Gönder

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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
is-mail
Mesaj: 500+
Mesaj: 500+





Kayıt: Feb 07, 2006
Mesajlar: 908
Konum: İstanbul

MesajTarih: 2007-08-04, 18:57:19    Mesaj konusu: Alıntıyla Cevap Gönder

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
Kullanıcının profilini görüntüle Özel mesaj gönder
Sercan
Mesaj: 1000+
Mesaj: 1000+





Kayıt: Jan 07, 2006
Mesajlar: 1719
Konum: İstanbuL //

MesajTarih: 2007-08-04, 19:03:09    Mesaj konusu: Alıntıyla Cevap Gönder

abi baya düşündüm tek aklıma gelen
sayı 2 sen +2 demişsin
echodada +2 demişsin 104 ediyor Very Happy

is-mail benden önce davranmış Sad
yazımı düzenlyeyim ==> birde çok güzel kafa karıştırdın abi Very Happy
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-04, 19:08:25    Mesaj konusu: Alıntıyla Cevap Gönder

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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
Sercan
Mesaj: 1000+
Mesaj: 1000+





Kayıt: Jan 07, 2006
Mesajlar: 1719
Konum: İstanbuL //

MesajTarih: 2007-08-04, 19:24:45    Mesaj konusu: Alıntıyla Cevap Gönder

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 Very Happy

Kod:
<?

for($sayi=0;$sayi<=20;) { //Yazıma dikkat. Kullanılmayan yerine ; kullandım.
echo "."-"$sayi";
$sayi++;
}
?>

ali osman abi çikolatıyı bekliyorum Razz
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-04, 19:31:15    Mesaj konusu: Alıntıyla Cevap Gönder

Tamam anladık ta $sercan="-"; ne işe yarıyor? Very Happy

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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
is-mail
Mesaj: 500+
Mesaj: 500+





Kayıt: Feb 07, 2006
Mesajlar: 908
Konum: İstanbul

MesajTarih: 2007-08-04, 20:04:08    Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri Alıntıyla Cevap Gönder

Kod:
<?php
for($sayi=1;$sayi<=19;) {

echo $sayi."-";
$sayi++;
}
echo $sayi;

?>
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder
Sercan
Mesaj: 1000+
Mesaj: 1000+





Kayıt: Jan 07, 2006
Mesajlar: 1719
Konum: İstanbuL //

MesajTarih: 2007-08-04, 23:52:37    Mesaj konusu: Alıntıyla Cevap Gönder

ali osman abi bir soru daha istiyoruz Very Happy
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-05, 10:12:24    Mesaj konusu: Alıntıyla Cevap Gönder

Çö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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-05, 10:20:38    Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri Alıntıyla Cevap Gönder

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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-05, 11:01:02    Mesaj konusu: Alıntıyla Cevap Gönder

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 Very Happy

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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
serkanyilmaz303
Mesaj: 100+
Mesaj: 100+





Kayıt: Aug 14, 2005
Mesajlar: 140
Konum: Ankara

MesajTarih: 2007-08-05, 12:13:23    Mesaj konusu: Re: DERS-7: PHP ile Döngü İşlemleri Alıntıyla Cevap Gönder

Yan yana olmasa nasıl olur Very Happy
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
Kullanıcının profilini görüntüle Özel mesaj gönder
is-mail
Mesaj: 500+
Mesaj: 500+





Kayıt: Feb 07, 2006
Mesajlar: 908
Konum: İstanbul

MesajTarih: 2007-08-05, 13:50:52    Mesaj konusu: Alıntıyla Cevap Gönder

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
Kullanıcının profilini görüntüle Özel mesaj gönder
Aliosman
Teknik Yönetici
Teknik Yönetici





Kayıt: Jul 20, 2002
Mesajlar: 3836
Konum: Balıkesir

MesajTarih: 2007-08-05, 16:44:46    Mesaj konusu: Alıntıyla Cevap Gönder

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 Very Happy

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
Kullanıcının profilini görüntüle Özel mesaj gönder Yazarın web sitesini ziyaret et
is-mail
Mesaj: 500+
Mesaj: 500+





Kayıt: Feb 07, 2006
Mesajlar: 908
Konum: İstanbul

MesajTarih: 2007-08-05, 17:34:15    Mesaj konusu: Alıntıyla Cevap Gönder

webmasterim heriki kodda da aynı çıktılar veriliyor (yoksa yanlışmı baktım ??), yanlışımı anlamadım :)) ..
Başa dön
Kullanıcının profilini görüntüle Özel mesaj gönder
Önceki mesajları göster:   
Bu forum kilitlendi: mesaj gönderemez, cevap yazamaz ya da başlıkları değiştiremezsiniz   Bu başlık kilitlendi: mesajları değiştiremez ya da cevap yazamazsınız    Netopsiyon Online Forum Ana Sayfa -> PHP -> PHP Dersleri Tüm zamanlar GMT + 3 Saat
Sayfaya git 1, 2, 3  Sonraki
1. sayfa (Toplam 3 sayfa)

 
Geçiş Yap:  
Bu forumda yeni başlıklar açamazsınız
Bu forumdaki başlıklara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız

Benzer Konular

Başlık Yazar Forum Cevaplar Tarih
Yeni mesaj yok DreamWeaver ve WampServer entegrasyon... Bankocu MySQL & phpMyAdmin 0 2009-05-17, 14:08:02 Son Mesajı Görüntüle
Yeni mesaj yok Grafik, grafik tasarım kursu ( Kurs, ... cenker_birdag Çöp Kutusu 2 2008-06-25, 10:33:44 Son Mesajı Görüntüle
Yeni mesaj yok Java (j2ee, j2me&#41; Eğitim, Kur... cenker_birdag Diğer Diller 1 2008-06-19, 09:28:12 Son Mesajı Görüntüle
Bu başlık kilitlendi: mesajları değiştiremez ya da cevap yazamazsınız PHP Eğitim, Kurs, Ders cenker_birdag Çöp Kutusu 2 2008-05-25, 11:46:42 Son Mesajı Görüntüle
Yeni mesaj yok Sabit: Ders 10: Form işlemleri-1 Aliosman PHP Dersleri 25 2008-05-06, 14:34:38 Son Mesajı Görüntüle

Copyright © 2002-2024 Netopsiyon Bilişim Teknolojileri San. Tic. Ltd.Şti. - Bütün hakları saklıdır!
Bu site Netopsiyon.com.tr Sunucularında Barındırılmaktadır.
Netopsiyon Bilişim Teknolojileri San. Tic. Ltd.Şti. Netopsiyon Copyright