PHP’de değişkenler
Posted: Şubat 3, 2011 at 8:01 pmPHP derslerinde başlangıç bölümünün ilk konusu değişkenler ile başlıyoruz. Öncelikle değişkenin ne olduğu ile başlayalım.
Değişken Nedir?
Aslında yıllardır kullanıyoruz değişkenleri. Matematik’te “x = 5 ise y = 3 ise aşağıda ki formüle göre z kaçtır?” sorusu sorulduğunda x, y ve z değişkenleri ile işlemler yaparsınız. Görüldüğü gibi matematik biliminde bir sembolü ve ya miktarı belirtmek için kullanılır. Bilgisayar bilimlerinde de çok farklı sayılmaz aslında. Bilgisayar atama yaptığınız veriyi hafızaya depolar. Böylelikle x dediğinizde bir hafıza alanında ki veriye ulaşmış olursunuz.
Değişkenler Nasıl Kullanılır?
PHP’de değişken tanımı diğer programlama dillerine nazaran daha kolaydır. Herhangi bir tip tanımı vs.. yapmanıza gerek kalmaz PHP ara motoru bunu sizin için yapacaktır. PHP ile kod yazım basitliğinde yarışabilecek tek programlama dilinin Phyton olduğunu düşünüyorum fakat ne yazık ki onunda kullanımı henüz yaygınlık kazanmadı ve kaynak sıkıntısı var.
Şimdi bir değişken tanımlaması yapalım;
1 2 3 4 | <?php $degisken = "içerik"; echo $degisken; ?> |
Görüldüğü gibi PHP’de değişkenlerin başına “$” işareti gelir. Türkçe karakter ve özel karakterler içermez. Değişken isminin ilk karakteri sayı olamaz. Bunları madde madde belirtmek gerekirse;
1. Değişkenlerde büyük küçük harf ayrımı vardır. $a ile $A aynı değildir.
2. Değişkenlerde ingilizce karakterler kullanılır. Yani Türkçede ki “şöçğİıü” harfleri kullanılamaz.
3. Değişken yazarken bir harf veya “_” alt tire ile başlamalıyız. Sayı ve “,.@()=” gibi karakterler kullanılamaz.
4. Değişken adı içerisinde harf, sayı ve “_” alt tire dışında bir şey kullanılamaz.
5. Değişken adı yazım uzunluğunda kısıtlama yoktur.
6. Atama işlemlerinde $degisken = “bilgiler”.$bilgi; şeklinde işlem sağdan sola sünnete uygun yapılır.
İşlemde değişkene “içerik” yazısını atadık. Herhangi bir harf grubunu rakamlarla karıştırsakta kullandığımızda çift tırnak ile sınırlarını belirlemeliyiz.
Peki harf grubu(String) değilde rakam grubu(Integer) kullanırsak ve bu rakam grubu ile daha sonra işlem yapacaksak ne yapmalıyız?
İşte bunu;
1 2 3 4 | <?php $x = 34; echo $x; ?> |
echo komutunun yazdırma işlemi uyguladığını daha önce ki derslerimizde belirtmiştik. Burada x değişkenine 34 ataması yaptık ve echo ile yazdırdık. Tabi $x = “34″; şeklinde de yazabilirdik fakat böyle yaptığımızda PHP ara motoruna bu değişkenin bir sayı grubu(Integer) taşımadığını söylemiş olurduk. Haliyle istediğimiz toplama işlemini yapabilse dahi doğru bir şekilde PHP ara motorunun yorulmasına neden olurdunuz ve bu gerçekten çok kötü bir kod yazımı olurdu.
Basit bir toplama işlemi yapalım ve ilkokul yıllarımızı hatırlayalım.
1 2 3 4 5 6 | <?php $x = 5; $y = 45; $z = $x + $y; echo $z; ?> |
Daha sonra PHP’de matematiksel işlemler konusunda detaylıca işleyeceğiz bu konuları fakat basitçe bir önbilgi vermek istedim. Görüldüğü gibi iki değişken toplanıp farklı bir değişkene atama yapılabiliyor ve sonucu hafızada tutan değişken yazdırılabiliyor.
Şu şekilde direkt olarakta $z’ye atama yapmadan yazdırabilirdik : echo $x + $y;
Değişkenleri yan yana birleştirmek
İki karakter grubumuz var. Daha önce harf grubu dedim fakat içerisinde rakam olabileceği için karakter grubu demek daha doğru olur. Literatürde karakter katarı olarakta geçer. Bu iki karakter grubunu yan yana toplamak istiyoruz diyelim. Ya da bir harf grubu ile sayı grubunu birleştirmeye ihtiyacımız var. O halde noktayı koymanın vakti geldi.
1 2 3 4 5 6 7 | <?php $not = 75; $isim = "Aslan"; $soyisim = "Akali"; echo "Öğrencimiz ".$isim." ".$soyisim." sınavdan ".$not." almıştır. "; // çıktı : Öğrencimiz Aslan Akali sınavdan 75 almıştır. ?> |
Görüldüğü gibi bir nokta ile harf gruplarını, sayı gruplarını, karakter gruplarını birleştirebiliyoruz. Çift tırnak işaretleri ile karakter grubu yazım alanını başlatmış oluyoruz. Örneğin $isim.” “.$soyisim gibi bir alan görüyoruz bu iki değişkenin arasında ki çift tırnak işaretleri içinde ki boşluk Aslan ve Akali karakter grupları arasında boşluk bırakıyor.
Değişkenleri değişik birleştirme yöntemleride vardır. Örneğin;
1 2 3 4 5 6 7 | <?php $not = 75; $isim = "Aslan"; $soyisim = "Akali"; echo "Öğrencimiz $isim $soyisim sınavdan $not almıştır. "; // çıktı : Öğrencimiz Aslan Akali sınavdan 75 almıştır. ?> |
Değişkenler çift tırnak işaretleri içerisinde de yazdırılabilir. Fakat bunların değişken olduğunu görebilmek önemlidir. Hem PHP ara motorunun değişkenleri hızlıca ayırtabilmesi için hem de biz kolayca görebilmek için aşağıda ki gibi değişkenlerin etrafına süslü parantez koyabiliriz. Bunlar çıktıda görüntülenmeyecektir.
1 2 3 4 5 6 7 | <?php $not = 75; $isim = "Aslan"; $soyisim = "Akali"; echo "Öğrencimiz {$isim} {$soyisim} sınavdan {$not} almıştır. "; // çıktı : Öğrencimiz Aslan Akali sınavdan 75 almıştır. ?> |
Bir de tek tırnak işaretlerini kullanarak yazdırma işlemi var. Fakat tek tırnak işaretleri içerisinde yazdığınız değişkenleri PHP ara motoru taramayacak olduğu gibi yazdıracaktır. Bu nedenle aşağıda ki gib bir sonuç elde edeceksiniz.
1 2 3 4 5 6 7 | <?php $not = 75; $isim = "Aslan"; $soyisim = "Akali"; echo 'Öğrencimiz $isim $soyisim sınavdan $not almıştır. '; // çıktı : Öğrencimiz $isim $soyisim sınavdan $not almıştır. ?> |
Çıktıda görüldüğü gibi değişkenler direkt olarak yazdırılır. Değişkenleri nokta ile birleştirerek yazdırabilirsiniz elbette.
1 2 3 4 5 6 7 | <?php $not = 75; $isim = 'Aslan'; $soyisim = 'Akali'; echo 'Öğrencimiz '.$isim.' '.$soyisim.' sınavdan '.$not.' almıştır. '; // çıktı : Öğrencimiz Aslan Akali sınavdan 75 almıştır. ?> |
Bu şekilde de yazdırılabilir. Peki nedir tek tırnak işaretinin avantajı söyleyeyim;
Eğer içerisinde değişken olmayacağına emin olduğunuz bir karakter grubunuz varsa bunu tek tırnak işareti içerisinde yazarak PHP ara motorunun bu karakter grubu içerisinde değişken aramasını önlemiş oluruz. Bu sayede de daha performanslı sonuç elde edeceğiz.
1 2 3 | <?php echo 'Merhaba<br /><font color="red">bu php ile sayfaya yansıtılan basit değişkensiz bir yazı</font>'; ?> |
Yukarıda tek tırnak örneği ile birlikte PHP içerisinde XHTML kodlarını yazdırabildiğimizi gördük. Aynı zamanda sınırlar tek tırnak ile belirlendiği için içeride ki çift tırnaklar karakter katarının sınır dışı olmasını engelleyecektir.
PHP’de tırnak işaretlerinden kaçış
Eğer aşağıda ki gibi yaparsak ciddi bir hata alırız.
1 2 3 | <?php echo "Merhaba<br /><font color="red">bu php ile sayfaya yansıtılan basit değişkensiz bir yazı</font>"; ?> |
Bunun nedeni ise en başta ki karakter grubunu sınırlayıcı çift tırnağın color= yazısından sonra ki çift tırnak yüzünden kesilmesi ve sonraki karakterlerin kod olarak algılanmaya başlaması olacaktır. Eğer illa ki çift tırnaklı sınırlayıcılar içerisinde çift tırnaklar kullanacaksak PHP’ye onların sınırlayıcı olmadığını söylememiz gerekecek. Şu şekilde.
1 2 3 | <?php echo "Merhaba<br /><font color=\"red\">bu php ile sayfaya yansıtılan basit değişkensiz bir yazı</font>"; ?> |
Görüldüğü gibi red’in etrafında ki çift tırnakların önlerine ters slash(Türkçesini bilen söylesin) koyarsak bu çift tırnakların sınırlayıcı olmadığını PHP ara motoruna söylemiş oluruz. Merak etmeyin bu ters slashlar çıktıda görüntülenmeyecek.
Aynı örneğin çift tırnaklarını tamamen tek tırnak yaparak ve kaçış karakterlerini kaldırarak sonucu test edebilirsiniz.
PHP’de değişkenler konusunu böylelikle sonlandırmış olduk. Bir daha ki dersimizde çok kullanılmayan sabit değişkenleri ve değişkenlerde matematiksel işlemlerin bol bol örnekle derinlerine ineceğiz inşallah..
PHP Programlama Uzmanı Aslan Akali