Daha önce Swift veri türlerini açıklarken bahsettiğim weak typing bir anlamda PHP’nin en güçlü noktası, fakat dikkat edilmediği bir durumda da ufacık bir kodu bile arap saçına çevirebilecek kadar hassas bir konu, çünkü PHP ile hata takibi başka dillere oranla çok daha zor.
PHP ile değişken tanımlarken tek yapmanız gereken değişkenin başına $ işareti koymanız. Sonrasında da istediğiniz herhangi bir şeye eşitlemeniz gerekmekte.
<?php $foo = "Merhaba"; $bar = 23; $var = 0.75; $is = false; ?>
PHP alışık olduğumuz tüm temel veri türlerini desteklemekte:
Burada farklı olan bazı veri türlerine detaylıca bakalım.
Bir sınıfa ait obje yaratırken aslında nesne veri türü oluşturulur. Java’dan alışık olabileceğiniz new terimi ile oluşturulan nesneyi tutan değişken sınıfın fonskiyonlarını çağırabiliyor.
<?php class kediler { function ses() { echo "Miyav."; } } $kedi = new kediler; $kedi->ses(); ?>
Resource aslında kullanılan bir veri türü değil, ama PHP dışından verilere ve fonksiyonlara erişim sağlayan bir arayüz.
Tıpkı swift dizilimleri gibi PHP ile özel index’li listeler oluşturmak mümkün. Array yaratırken özel bir fonksiyon olan array()’i kullanıyorduk, ancak PHP 5.4’ten itibaren köşeli parantez onun yerini almaya başladı.
<?php //PHP 5.4'ten önce $foo = array("foo" => "bar", "bar" => "foo",); //PHP 5.4'ten itibaren $bar = ["foo" => "bar", "bar" => "foo",]; //Farklı index'ler ve içerikler $karma = array(1 => -1, "100" => "-100", 2 => true,); var_dump($karma); /* Ekran çıktısı: array(3) { [1]=> int(-1) [100]=> string(4) "-100" [2]=> bool(true) } */ //Çok boyutlu dizilim $coklu = array("1" => array(5 => 10, 10 => 20),); ?>
Her ne kadar weak typing olsa da PHP veri türleri arasında geçişi sağlıyor.
<?php $foo = 3.5; $bar = 12.7; $intsonuc = (int)($bar / $foo); //3 $floatsonuc = (int)($bar / $foo); //3.6285714285714 ?>