PHP’de Değişkenler

PHP‘de değişken denilince ne anlamanız gerektiği söz konusu olduğunda size yardımcı olacak basit bir metod var: Değişkenleri küçük veya büyük kutular olarak düşünün. Üzerini boyadığınız ve adlarını yazdığınız kutular!

String (Dize) Değişkenler

Kullanıcı adını (username) yazdığınız bir boş kutunuz olduğunu hayal edin. Ardından bir kağıda Fred Simth yazıp kutunun içine yerleştirirsiniz. (Aşağıdaki resme bakın).

PHP'de Değişken Tanımlama

Bu bir değişkene bir dize değeri atamakla aynı işlemdir, şöyle:

<?php // test1.php
  $username = "Fred Smith";
  echo $username;
  echo "<br>";
  $current_user = $username;
  echo $current_user;
?>

Yukarıdaki kodları bir metin belgesine yazıp test1.php olarak kaydedin. Oluşturduğunuz dosyayı localhost’taki kök klasörüne taşıyın ve kopyalayın. Şimdi tarayıcınızın adres çubuğuna aşağıdaki bağlantıyı yazın:

http://localhost/test1.php

Bu kodu çalıştırmanın sonucu Fred Smith adının iki tekrarı olmalıdır; ilki echo $username komutunun sonucu, ikincisi ise echo $current_user komutunun sonucudur.

Sayısal Değişkenler

Değişkenlerin sadece karakter dizileri içermesi gerekmez, sayıları da içerebilirler. Kutu metoduna dönecek olursak, 17 sayısını $boncuk_sayisi değişkeninde saklamak için üzerine boncuk sayısı kelimesini yazdığınız bir kutuya 17 boncuk yerleştirmek olacaktır:

$boncuk_sayisi = 17;

Kayan noktalı bir sayı da (floating-point number = ondalık nokta içeren) kullanabilirsiniz. Söz dizimi aynıdır:

$boncuk_sayisi = 17.5; // Yarım boncuk bulabilirseniz tabi :)

Kutunun içeriğini görmek için açmanız ve boncukları saymanız yeterlidir. PHP‘de $boncuk_sayisi değerini başka bir değişkene atarsınız veya belki de sadece web tarayıcısına yansıtırsınız.

Dizi Değişkenler

Dizileri birbirine yapıştırılmış birkaç kutu olarak düşünebilirsiniz. Örneğin beş kişilik bir futbol takımının oyuncu adlarını $team adlı bir dizide saklamak istediğimizi varsayalım. Bunu yapmak için beş adet kutuyu yan yana yapıştırabilir ve her bir kibrit kutusuna birer tane koymak üzere tüm oyuncuların isimlerini ayrı kağıtlara yazabiliriz.

PHP'de Dizi Değişken Tanımlama

Tüm kutusu düzeneğinin üst kısmına team (=takım) kelimesini yazardık. Bunun PHP’deki karşılığı aşağıdaki gibi olacaktır:

$team = array('Ahmet', 'Mehmet', 'Ali', 'Veli', 'Cemil');

Bu sözdizimi şimdiye kadar gördüğünüz diğer örneklerden daha karmaşıktır. Dizi değişken oluşturma kodu aşağıdaki yapıdan oluşur:

array();

Bu dizinin içinde beş dize (string) bulunmaktadır. Her dize kesme işareti veya tırnak işareti içine alınır ve dizeler virgülle ayrılmalıdır.

Daha sonra oluşturduğumuz dizi değişkende 4. oyuncunun kim olduğunu bilmek istersek şu komutu kullanabiliriz:

echo $team[3]; // Bu kod bize Veli sonucunu döndürecektir.

Aradığımız oyuncunun 4. kişi olmasına rağmen çağırmak için kullandığımız kodda 3 yazmamızın sebebi bir PHP dizisinin ilk öğesinin aslında sıfırıncı öğe olmasıdır, bu nedenle 5 kişiden oluşan bir takımdaki oyuncuları çağırmak için kullanacağımız sayı 0 ile 4 arasında olacaktır.

İki Boyutlu Diziler

Dizilerle yapabileceğiniz daha pek çok şey var. Örneğin kutuların tek boyutlu çizgiler olmasının yanı sıra iki boyutlu matrisler olabilir veya hatta daha fazla boyuta sahip olabilirler.

İki boyutlu bir diziye örnek olarak 3 × 3 karede düzenlenmiş dokuz hücreden oluşan bir veri yapısı gerektiren bir tic-tac-toe oyununu takip etmek istediğimizi varsayalım. Bunu kutular ile temsil etmek için üç sütun ve üç satırlık bir matriste dokuz tanesinin birbirine yapıştırıldığını varsayabilirsiniz.

İki Boyutlu Dizi Değişkenler

Artık üzerinde x veya o olan bir kağıt parçasını oynanan her hamle için doğru kibrit kutusuna yerleştirebilirsiniz. Bunu PHP kodunda yapmak için dizinin halihazırda devam eden bir oyunla kurulduğu aşağıdaki örnekte olduğu gibi üç dizi daha içeren bir dizi kurmanız gerekir.

<?php
  $oxo = array(array('x', ' ', 'o'),
               array('o', 'o', 'x'),
               array('x', 'o', ' '));
?>

Bir kez daha karmaşıklıkta bir adım yukarı çıktık, ancak temel dizi söz dizimini kavrarsanız bunu anlamak kolaydır. Dış dizi() yapısının içine yerleştirilmiş üç dizi() yapısı vardır. Her satırı yalnızca bir karakterden oluşan bir diziyle doldurduk: x, o veya boşluk. (Tüm hücreler görüntülendiğinde aynı genişlikte olması için boş bir alan kullanıyoruz.)

Daha sonra bu dizinin ikinci satırındaki üçüncü öğeyi döndürmek için bir x gösterecek olan aşağıdaki PHP komutunu kullanırsınız:

echo $oxo[1][2];

Belirtildiği gibi diziler içinde daha fazla dizi oluşturarak daha da fazla boyutlu dizileri destekleyebiliriz. Ancak bu kursta ikiden fazla boyutlu dizileri ele almayacağız.

Konu ierleyen bölümlerde ayrıntılı olarak açıklandığı için dizileri kullanma konusunda zorluk yaşıyorsanız endişelenmeyin.

PHP’de Değişken Tanımlama Kuralları

PHP değişkenleri oluştururken şu dört kuralı izlemelisiniz:

  • Değişken isimleri dolar($) işaretinden sonra alfabenin bir harfiyle veya _ (alt çizgi) karakteriyle başlamalıdır.
  • Değişken adları yalnızca a–z, A–Z, 0–9 ve _ (alt çizgi) karakterlerini içerebilir.
  • Değişken isimleri boşluk içeremez. Bir değişken adının birden fazla kelime içermesi gerekiyorsa kelimeleri _ (alt çizgi) karakteriyle ayırmak iyi bir fikirdir (örneğin, $kullanici_adi).
  • Değişken isimleri büyük/küçük harf duyarlıdır. $Yuksek_Skor değişkeni ile $yuksek_skor değişkeniyle aynı değildir.