• 04-08-2007, 13:42:08
    #1
    Giriş konularını tamamlayabilmemiz için Operatörler konusunu da çok iyi kavramamız gerekiyor. Yazacağımız programların
    neredeyse hepsinde operatörleri kullanırız. Matematiksel operatörleri bir önceki konuda görmüştük esasında. Yani ( + , - , *
    , / , %) işaretleri ile simgelendirdiğimiz işlemler.
    Artırma operatörleri, eşitleme operatörleri, karşılaştırma operatörleri, hata kontrol operatörleri, çalıştırma operatörleri,
    mantık operatörleri, metin operatörleri konularını bu yazı da anlatmaya çalışacağım. Diziler (array) konusunu ileri de
    anlatacağım için dizi operatörleri konusunu, başlangıç aşamasında karışık geleceği içinde bit operatörleri konusunu
    atlıyorum.
    Artırma Operatörleri :
    Artırma operatörleri değişkenimizin değerini belirli bir mantıkta artırmaya yarar. Birer birer artırmak ve azaltmak için özel
    operatörler vardır (++,--). Bunların dışında belirli bir mantıkta çarparak veya bölerek de artırma işlemi yapabiliriz.
    Örnek:
    <?
    $sayi = 5;
    echo($sayi."<br>");	// Ekrana 5  yazar
    $sayi++;			// $sayi değişkenin değerini 1 artırır
    echo($sayi."<br>");	// Ekrana 6 yazar
    ?>
    Ekran Çıktısı :
    Alıntı
    5
    6
    Burada ++ operatörü ile değişkenimizin değerini 1 artırdık. Artırma işlemini echo() fonksiyon satırımızda da kullanabilirdik
    Örnek :
    <?
    $sayi = 5;
    echo($sayi."<br>".$sayi++);
    ?>
    Ekran Çıktısı :
    Alıntı
    5
    5
    Bu kodu yazdığımız ilk satıra 5 ikinci satıra 6 yazmasını bekleyebilirsiniz ama öyle olmayacaktır, iki satıra da 5 değeri
    basılacaktır. Değişkenin sonuna konulan ++ işareti işlem yapıldıktan sonra atamayı yapar, yani öncelik sayımız ekrana yazılır
    daha sonra $sayi 'nin değeri 1 artar. Aynı satır içerisinde değerinin artmasını istiyorsak operatörümüzü sayıdan önce
    yazmamız gerekmektedir. ++$sayi şeklinde yazdığımız takdirde beklediğimiz sonucu elde edebiliriz.
    Örnek :
    <?
    $sayi = 5;
    echo($sayi."<br>".++$sayi);
    ?>
    Ekran Çıktısı :
    Alıntı
    5
    6
    İlk yaptığımız $sayi++ işlemi "PostIncrement" olarak, ++$sayi şeklinde kullandığımız yöntem ise "PreIncrement" olarak geçer.
    Aynı işlem -- içinde geçerlidir. İki yöntemi de kullanabileceğimiz daha geniş bir örnek yapalım.
    Örnek :
    <?php
    $sayi = 10;
    echo("<b>Deneme 1:</b><br>\n");
    echo("sayi : " . $sayi++ . "<br />\n");
    echo("sayi : " . $sayi . "<br />\n");
    $sayi = 10;
    echo("<br><b>Deneme 2:</b><br>\n");
    echo("sayi : " . ++$sayi . "<br />\n");
    echo("sayi : " . $sayi . "<br />\n");
    echo("<br><b>Deneme 3:</b><br>\n");
    $sayi = 10;
    echo("sayi : " . $sayi-- . "<br />\n");
    echo("sayi : " . $sayi . "<br />\n");
    echo("<br><b>Deneme 4:</b><br>\n");
    $sayi = 10;
    echo("sayi : " . --$sayi . "<br />\n");
    echo("sayi : " . $sayi . "<br />\n");
    ?>
    Ekran Çıktısı :
    Alıntı
    Deneme 1:
    sayi : 10
    sayi : 11
    Deneme 2:
    sayi : 11
    sayi : 11
    Deneme 3:
    sayi : 10
    sayi : 9
    Deneme 4:
    sayi : 9
    sayi : 9
    Bu işlemler dışında += , -= , *= , /= operatörleri de kullanılarak benzeri işlemler yapılabilir. ++ aslında += 1, -- 'de -= 1
    manasına gelmektedir.
    Örnek :
    <?
    $sayi = 10;	// $sayi değeri 10 'a eşitlendi
    $sayi ++;		// $sayi değeri 1 artırıldı
    $sayi += 1;	// $sayi değeri 1 artırıldı
    $sayi += 5;	// $sayi değeri 5 artırıldı
    echo($sayi);	// $sayi ekrana yazıldı
    ?>
    Ekran Çıktısı :
    Alıntı
    17
    Bununda değeri çarpılıp sayının üzerine eklenecektir. Temel mantığımız $sayi değişkenine başka bir sayı ekleyip, çıkarıp,
    sayı değişkenine eklemek.
    $sayi = $sayi + 1;
    $sayi ++;
    $sayi += 1;
    Bu üçü de aynı manaya gelmektedir.
    Benzeri bir işlemi *= ve /= içinde yapabiliriz.
    Örnek :
    <?
    $sayi = 10;	// $sayi değeri 10 'a eşitlendi
    $sayi *= 2;	// $sayi değeri 2 'e katlanıyor
    $sayi /= 3;	// $sayi değeri 3 'e bölünüyor
    echo($sayi);	// $sayi ekrana yazıldı
    ?>
    Ekran Çıktısı :
    Alıntı
    6.6666666666667
    Eşitleme Operatörleri
    PHP'de eşitleme için = operatörü kullanılır. Aslında ilk konularda atama yaparken bu operatörü kullanmıştık.
    Örnek :
    <?
    $sayi = 5;
    echo($sayi);
    ?>
    Ekran Çıktısı :
    Alıntı
    5
    Eşitleme operatörü olarak aynı zamanda .= 'de kullanırız, bu da aynı += 'de olduğu ekleme yapar. Tek farkı sayılarla değiş
    yazılarla işlem yaparız.
    Örnek :
    <?
    $metin = "Bu yazı çok uzun ";
    $metin .= "Onun için değişkene parça parça atıyoruz ";
    $metin .= "Değişkene istediğimiz kadar ekleme yapabiliriz";
    echo($metin);
    ?>
    Ekran Çıktısı :
    Alıntı
    Bu yazı çok uzun Onun için değişkene parça parça atıyoruz Değişkene istediğimiz kadar ekleme yapabiliriz
    Bu operatörü çok fazla yerde kullanabiliriz. Verileri bir tabloya çekip ekrana basacaksak önce tüm verileri bir tabloya
    atadıktan sonra ekrana basabiliriz. Bu operatör ile ilgili örnekleri "Döngüler" konusunda daha ayrıntılı ele alacağım.
    Hata Kontrol Operatörleri :
    Hata kontrol operatörü olarak @ kullanılmaktadır. Bu işareti herhangi bir komutun başına
    koyduğunuz zaman herhangi bir hata veya uyarı mesajı çıkmaz. Kritir fonksiyonların başına bu işareti koyabilirsiniz. Genelde
    dosya işlemleri için kullanılır.
    Örnek
    <?php
    $dosya = @file('xxxx.yyy') or die("Dosya açarken hata oluştu");
    ?>
    Burada dosya açılamadığı zaman file dosyası normalde bir hata mesajı döndürür, biz bunun çıkmasını engelliyoruz ve kendi hata
    mesajımızı or ile çıkmasını sağlıyoruz. Burada kullanmış olduğumuz die() komutu ekrana içerisine yazdığımız mesajı bastıktan
    sonra php işlemini sonlandırır, ondan sonra gelen hiçbir komut çalışmaz.
    Çalıştırma Operatörleri
    PHP'de komut çalıştırmak için ` ` operatörleri kullanılır. Yalnız burada dikkat edilmesi gerek bu
    operatörün normal tek tırnak (') olmadığıdır. Bu işareti (alt + ,) tuşuna basarak ekrana basabilirsiniz. Temel olarak
    sistemdeki komutları çağırıyor, örneğin bulunduğunuz dizindeki dosyaları listelemek için linuxda "ls" komutu kullanılır, bu
    komutu çalıştırıp ekran çıktısını bize geri döndürüyor.
    Örnek :
    <?php
    $ekran_ciktisi = `ls -la`;
    echo "<pre>$ekran_ciktisi</pre>";
    ?>
    Ekrana sistemde o dizinimizda bulunan dosyalar listelenecektir.
    Metin Operatörleri :
    Metin operatörü olarak . (nokta) kullanıyoruz. Birden fazla metni birleştirmeye yarıyor. Bunu daha önce konularımızda anlatmıştım, hatta örneklerimizde de kullanmıştık. Basit bir örnek vereyim;
    Örnek :
    <?
    $isim = "Hasan";
    $soyad = "Yaşar";
    echo($isim." ".$soyad);
    ?>
    Ekran Çıktısı :
    Alıntı
    Hasan Yaşar
    Bu yaptığımız işlem sayesinde 2 değişken ve bir yazı katarını birleştirmiş olduk.
    Mantık Operatörleri :
    Lisede matematik derslerinde görmüş olduğumuz mantık dersini belki hatırlayanlar vardır. Aslında oradaki işlemden çok da farkı yok bunun.
    && (ve, and) :
    Birden fazla şartın aynı anda doğru olması gerekliliğidir. Mesela;
    Ahmet ve Mehmet gelirse oyun başlasın.
    Bu cümlede oyunun başlayabilmesi için Ahmet ve Mehmet 'in aynı anda gelmesi gerekmektedir.
    || (veya, or) :
    Birden fazla şartın herhangi birinin doğru olması gerekliliğidir. Mesela;
    Ahmet veya Mehmet gelirse oyun başlasın.
    Bu cümlede oyunun başlayabilmesi için Ahmet veya Mehmet'ten herhangi birinin gelmesi yeterlidir.
    xor :
    Birden fazla şartın aynı anda gerçekleşmesi veya aynı anda gerçekleşmemesi durumunda doğru olması gerekliliğidir. Mesela;
    Ahmet ve Mehmet gelirse veya Ahmet ve Mehmet gelmezse oyun başlasın.
    Bu cümlede gelip veya gelmeme işleminin aynı anda yapılması gereklidir. Oyunun başlayabilmesi için ya ikisi de gelecektir, yada ikisi de gelmeyecektir. Bir tanesinin geldiği durumlarda oyun başlamaz.
    ! (değil, Not) :
    Bir şartın tam tersinin doğru olması gerekliliğidir. Mesela;
    Ahmet gelmezse oyun başlasın.
    Bu cümlede gelirse değilde gelmezse şart sağlanacaktır.
    Mantık ve karşılaştırma operatörlerinin örneklerini bir sonraki dersimizde anlatacağım daha anlışır olabilmesi için.
    Karşılaştırma Operatörleri :
    Matematikte gördüğümüz bir sayı diğerinden büyükse, küçükse, eşitse gibi terimlerin PHP'deki karşılığıdır.
    == (Eşitse, Equal) :
    İki değişken birbirine eşitse TRUE (doğru) değeri geri döner.
    === (Denkse, Identical) :
    İki değişken birbirine eşitse ama değişken tipleri farklıysa TRUE (doğru) değeri geri döner.
    != (Eşit Değilse, Not equal) :
    İki değişken birbirine eşit değilse TRUE (doğru) değeri geri döner.
    <> (Eşit Değilse, Not equal) :
    İki değişken birbirine eşit değilse TRUE (doğru) değeri geri döner. Bir öncekinden farkı yoktur, sadece farklı bir yazım çeşididir.
    !== (Denk Değilse, Not Identical) :
    İki değişken birbirine eşit değilse veya değişken tipleri farklıysa TRUE (doğru) değeri geri döner.
    < (Küçükse, Less than):
    İlk değişken ikinciden küçükse TRUE (doğru) değeri geri döner.
    > (Büyükse, Greater than):
    İlk değişken ikinciden büyükse TRUE (doğru) değeri geri döner.
    <= (Küçük veya Eşitse, Less than or equal to):
    İlk değişken ikinciden küçük veya eşitse TRUE (doğru) değeri geri döner.
    >= (Büyük veya Eşitse, Greater than or equal to):
    İlk değişken ikinciden büyük veya eşitse TRUE (doğru) değeri geri döner.
    Bu konu aslında bir sonraki konu olan IF-ELSE konusuna giriş ve bilgi niteliğinde. Bir sonraki derste konular daha pekişecektir. Bazı operatörler için örnekleri php olarak vermedim, onları da sonraki derste anlatacağım.
  • 04-08-2007, 13:55:36
    #2
    Eyvallah Hocam Eline Sağlık
  • 04-08-2007, 14:42:49
    #3
    sağolasın ejder biraz zor bi dersmiş
  • 04-08-2007, 20:20:10
    #4
    andyou, oktay: teşekkürler..

    diğerlerine göre biraz daha zor olabilir ama çok da zor değil
  • 04-08-2007, 20:55:38
    #5
    Üyeliği durduruldu
    EjdeR, hocam eline, emeğine sağlık. Büyük bir zevk ile takip ediyorum dersleri Çeşitli kaynaklar buldum internetten, araştırıyorum, deniyorum, çabalıyorum sürekli. Ama ufak bir isteğim olacak.

    Bu kadar emeğinin üstüne yüzsüzce olacak farkındayım ama, motive olmam için gerekli ve eminim benim gibi hisseden arkadaşlar da vardır bu konuda.

    Zamanın olursa, PHP'yi nasıl öğrendiğin ile ilgili bir yazı yazabilir misin? Nasıl başladığını, ilk adımlarının neler olduğunu ve gelişme yolunda neler tavsiye ettiklerini anlatacağın. Kısacası "yol göstereceğin" bir yazı.

    İnternette İngilizce ya da Türkçe bir çok yazı okudum, herkes araştırın, deneyin, hazır scriptleri alın değiştirin diyorlar. Araştırıyorum, deniyorum, düzenliyorum. Ama bu konuda ne yaşadığım yerde, ne de internet üzerinden tanıdığım ve bana gerçekten yardımcı olacak, yol gösterecek kimse yok. İnternetten kaç defa yardım istedim, yok. İzmirde yardım edecek birini aradım, yok. Kurs aradım, fiyatı uygun yerlerle ilgili tek kelime eden yok, adını duyduğumuz yerler de karşılayamayacağım miktarda para istiyor. Öğrenen öğrenmiş, çekilmiş köşesine kodluyor. Senin gibi bir kaç yardım sever insan da kısıtlı zamanında ders hazırlıyor, ama yetmiyor.

    Ama inanıyorum ki, en azından nasıl öğrendiğini anlatacak birisi olursa, benim gibi arkadaşlar "... da bu şekilde başlamış, bu şekilde çalışmış. Şimdi görüyoruz ne kadar başarılı. Ben de böyle başladım, ben de onun gibi çalışıyorum, demek ki doğru yoldayım, devam edersem başaracağım!" şeklinde kendilerini motive edip, daha hırslı çalışabilirler.

    Önümde yol gösterecek birisi olmadığı için 1.5 aydır bir arpa boyu yol gidemedim gibi geliyor, gidiyorsam da farkında değilim, bu yüzden faydası olmuyor... Daha önce bir çok şeyi kendi kendime öğrendim, ama hep yol göstericilerim vardı. Birisi PHP için yol gösterse, hiç şüphem yok ki onu da öğreneceğim.

    Eğer görüşlerimi dikkate alırsan, ve bahsettiğim gibi bir yazı yayınlayabilirsen çok faydalı olacağına inanıyorum. Okuduğun için teşekkürler.

    Saygılar.
  • 04-08-2007, 22:43:51
    #6
    Üyeliği durduruldu
    -273º arkadaşa katılıyorum hiç kurs yok öğrenen öğrenmiş gidio biz ne yapalım_??
  • 05-08-2007, 14:23:05
    #7
    -273º adlı üyeden alıntı: mesajı görüntüle
    EjdeR, hocam eline, emeğine sağlık. Büyük bir zevk ile takip ediyorum dersleri Çeşitli kaynaklar buldum internetten, araştırıyorum, deniyorum, çabalıyorum sürekli. Ama ufak bir isteğim olacak.
    Bu kadar emeğinin üstüne yüzsüzce olacak farkındayım ama, motive olmam için gerekli ve eminim benim gibi hisseden arkadaşlar da vardır bu konuda.
    Zamanın olursa, PHP'yi nasıl öğrendiğin ile ilgili bir yazı yazabilir misin? Nasıl başladığını, ilk adımlarının neler olduğunu ve gelişme yolunda neler tavsiye ettiklerini anlatacağın. Kısacası "yol göstereceğin" bir yazı.
    İnternette İngilizce ya da Türkçe bir çok yazı okudum, herkes araştırın, deneyin, hazır scriptleri alın değiştirin diyorlar. Araştırıyorum, deniyorum, düzenliyorum. Ama bu konuda ne yaşadığım yerde, ne de internet üzerinden tanıdığım ve bana gerçekten yardımcı olacak, yol gösterecek kimse yok. İnternetten kaç defa yardım istedim, yok. İzmirde yardım edecek birini aradım, yok. Kurs aradım, fiyatı uygun yerlerle ilgili tek kelime eden yok, adını duyduğumuz yerler de karşılayamayacağım miktarda para istiyor. Öğrenen öğrenmiş, çekilmiş köşesine kodluyor. Senin gibi bir kaç yardım sever insan da kısıtlı zamanında ders hazırlıyor, ama yetmiyor.
    Ama inanıyorum ki, en azından nasıl öğrendiğini anlatacak birisi olursa, benim gibi arkadaşlar "... da bu şekilde başlamış, bu şekilde çalışmış. Şimdi görüyoruz ne kadar başarılı. Ben de böyle başladım, ben de onun gibi çalışıyorum, demek ki doğru yoldayım, devam edersem başaracağım!" şeklinde kendilerini motive edip, daha hırslı çalışabilirler.
    Önümde yol gösterecek birisi olmadığı için 1.5 aydır bir arpa boyu yol gidemedim gibi geliyor, gidiyorsam da farkında değilim, bu yüzden faydası olmuyor... Daha önce bir çok şeyi kendi kendime öğrendim, ama hep yol göstericilerim vardı. Birisi PHP için yol gösterse, hiç şüphem yok ki onu da öğreneceğim.
    Eğer görüşlerimi dikkate alırsan, ve bahsettiğim gibi bir yazı yayınlayabilirsen çok faydalı olacağına inanıyorum. Okuduğun için teşekkürler.
    Saygılar.
    Ben ilk olarak include() fonksiyonunu öğrendim ve uzunca bir süre başka bir fonksiyona ihtiyaç duymadım. Yüzlerce sayfayı tek kalemde değiştirebilmek ilk aşamada yeterli oldu bana. Daha sonra kitapçıya gittim, o zaman 2 tane kitap vardı ikisini de aldım. İçindekileri önce tek tek okudum roman gibi, daha sonra tekrar başa dönerek her örneği deneyerek anlamaya çalıştım. Biraz sabırlı bir insanım acele etmedim. Ama daha önce C bildiğim için çok da zorlanmadım işin aslı mantığını kavramakta.
  • 13-08-2007, 05:37:04
    #8
    Üyeliği durduruldu
    Teşekkürler Ejder, takipteyim
  • 13-08-2007, 06:56:36
    #9
    Teşekkürler emektar insan .