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.

Değişken tanımlama

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:

  • String
  • Integer
  • Float/Double
  • Boolean
  • Array
  • NULL
  • Object
  • Resource

Burada farklı olan bazı veri türlerine detaylıca bakalım.

Object (Nesne)

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

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.

Array (Liste/Dizilim)

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),);
?>

Type Casting

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
?>

Barış Altop
Barış Altop
Matematik tutkusunu yazılım sanatına dönüştürmeyi hedef seçmiş, bilgisayar mühendisliği doktora öğrencisi. Biraz Apple tutkunu, ama teknoloji düşkünü yazılımcı.