Öncelikle değişken nedir, ne işe yarar? Değişken bir verinin saklanmasında kullanılan hafıza alanıdır. Değişkenler bir çok programlama dilinde mevcuttur ve sıklıkla kullanılır. Matematikte kullandığımız x=6 y=4 vs. gibi kavramlarda x ve y bir değişkendir. Php dilinde kullandığımız değişken tanımlama diğer programlama dillerine göre kolay yapılıyor. Php’de değişkenler $ işareti ile tanımlanır ve “A-Z”, “a-z”, “0-9”, “_” karakterlerinden oluşabilir. Türkçe ve özel karakter içeremez, büyük küçük harf ayrımı vardır. Değişkenin isminin başında rakam olamaz, eğer rakam kullanmamız gerekir ise “_” işaretini kullanabiliriz. Basit şekilde değişken tanımı ve taşıdığı özellikler bu şekildedir.
<?php
$merhaba = “selam”;
echo $merhaba;
?>
Bu kodda merhaba yazısı basit bir değişkendir ve echo komutu ile onu ekrana bastırdık. Daha doğrusu merhaba değişkenine selam yazısını atadık.
<?php
$sayi = “123”;
echo $sayi
?>
Yukarıdaki kodun merhaba değişkenini verdiğimiz koddan herhangi bir farkı yoktur. Tek fark php motorunun bu iki kodu harf gurubu (string) olarak algılamasıdır. Eğer bu rakamlar ile daha sonra işlem yapacaksak php motoruna bu sayıların bir rakam grubu(integer) olduğunu belirtmemiz gerekmektedir. Şu şekilde;
<?php
$sayi = 123
echo $sayi
?>
Rakamları tırnak içinde yazmadığımız takdirde php motoru bu ifadelerin string değil integer olduğunu anlayacaktır. Tırnak içinde yazmadığımız zamanda php motoru integer olduğunu anlayacak fakat motorun yorulmasına sebep olduğumuzdan bu kod sağlıklı bir kod olmayacaktır.
<?php
$x = 5;
$y = 3;
$z = $x + $y;
echo $z;
?>
Yukarıda php ile basit bir toplama işlemi yapıp, sonucunu echo ile ekrana çıktı verdik. Dilersek echo komutunu echo $x + $y şeklinde verip ekrana bastırabiliriz. Yani z değişkenini kullanmadan da bu işlemi yapabiliriz.
Aslında bu şekilde gitmektense Php’de kullanılan standart veri tipleri yazmam daha sağlıklı olacak gibi gözüküyor.
Boolean : True veya false’den biri
Integer : Bir tam sayı
Float/Double : Bir noktalı sayı
String : Bir harf grubu (karakter katarı)
Object : Bir sınıfın bir örneği
Array : Sıralı bir değerler topluluğu
Resource : Üçüncü parti bir kaynağa referans
Değişken tiplerini Php gettype fonksiyonunu kullanarak test edebiliriz.
<?php
$testing = 5;
echo gettype($testing);
echo “<br>”;
$testing = “selam”;
echo gettype($testing);
echo “<br>”;
$testing = 0.476;
echo gettype($testing);
echo “<br>”;
$testing = true;
echo gettype($testing);
echo “<br>”;
$testing = array(‘elma’, ‘armut’, ‘ayva’);
echo gettype($testing);
echo “<br>”;
?>
Bu kodda “5” integer bir tiptir, “selam” string bir tiptir, “0.476” double bir tiptir, “true” boolean bir tiptir ve “array” array bir tiptir.
Gettype ile değişken tipini test edebildiğimiz gibi settype fonksiyonu ile de değişkenin tipini değiştirebiliriz.
<?php
$testing = 5;
echo “$testing “;
echo gettype($testing );
echo ” bir tiptir”;
echo “<br>”;
settype($testing, ‘string’);
echo “$testing “;
echo “settype fonksiyonu ile “;
echo gettype($testing );
echo ” bir tip haline gelmistir”;
echo “<br>”;
echo “<br>”;
$testing = “selam”;
echo “$testing “;
echo gettype($testing );
echo ” bir tiptir”;
echo “<br>”;
settype($testing, ‘boolean’);
echo “$testing “;
echo gettype($testing );
echo ” bir tiptir”;
?>
İlk etapta testing değişkeni integer bir tiptedir fakat settype ile tipi string olarak değiştirilmiştir.
Daha sonra testing değişkeni string bir tip iken settype ile boolean olarak değiştirilmiştir. echo ekrana çıktı verdiğimiz ekrana 1 yazacaktır. Php’de boolean’ı yazdırırken true değeri “1”, false değeri boşluk olarak gösterilmektedir. Settype fonksiyonunda değişken tipini değiştirirken, farklı bir şekilde de tipleri tip ataması ile değiştirebiliriz.
<?php
$sayi = 4.14;
$holder = (integer) $sayi;
echo gettype($holder);
echo ” is $holder<br>”;
$tip = (bool) $sayi;
echo gettype($tip);
echo ” is $tip<br>”;
$yazi = (string) $sayi;
echo gettype($yazi);
echo ” is $yazi<br>”;
echo gettype($sayi);
?>
Sayi isminde bir değişken tanımlayıp 4.14 değerini verdik. Daha sonra double tipinde olan bu değişkenin tipini, $holder isminde tanımladığımız değişkene integer tipinde atadık. Bir sonrakinde de değişken tipini yazi isimli değişkene string tipinde atadık.
gettype ile yeniden sayi değişkenini ekrana verdiğimizde 4.14 değerinin double bir tipte olduğunu gördük.
Şimdilik bu kadar yeterli, tekrar devam ederim sonra.