Gönderen Konu: PHP Değişkenlerin Veri Türleri  (Okunma sayısı 1309 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Muzy42

  • Sanalpusula.Net
  • Site Yönetimi
  • *****
  • İleti: 1558
  • Konu Sayısı: 888
  • Toplam Puanı: 116
  • Cinsiyet: Bay
  • Eğitim Şart!!!
    • Sanalpusula.Net

PHP Değişkenlerin Veri Türleri
« : 28.04.2009-21:20:41 »
          

Değişkenlerin Veri Türleri

PHP değişkenlere, tuttukları değerlere göre farklı bellek alanları  tahsis eder. Bu bakımdan programda kullanılacak verilerin türleri, etkin bir programcılık açısından önem taşır. Ayrıca PHP, diğer bütün programlama dilleri gibi belirli veri türleri ile belirli işlemleri yapar veya yapamaz. Örneğin; sadece iki sayı arasında aritmetik toplama yapılabilir. İki metin içeren değişken, aritmetik olarak toplanamaz; ancak içerdikleri değerler artarda eklenebilir. Ne var ki, PHP yapılacak işlemde, aritmetik toplama mı yoksa artarda ekleme mi yapılmak istendiğini bilmek durumunda değildir. Bu nedenle değişkenlerin türlerini, değişkenlere atanacak değerleri ve değişkenlerle yapılacak işlemleri dikkatli bir biçimde yapmak gerekir.

PHP’de altı tip değişken türü vardır:

•   Tamsayı (Integer): 5, 124 ve 9834 gibi
•   Çift (Double): 3,567 gibi
•   Karakter dizisi (String): "Gökmen" gibi
•   Mantıksal (Boolean): doğru (true)/yanlış (false) gibi
•   Nesne (Object)
•   Dizi (Array)

Bazı uzmanlara göre, gerçekte PHP’de mantıksal (boolean) değişken türü yoktur. Bunun sebebi; PHP true (doğru) ya da false (yanlış) olarak atanılan değerleri 1 veya boş (null) değerlere çevirmesi, mantıksal olarak sorgulandığında, 0 dışındaki tam ve ondalık değişkenleri TRUE, 0’ı FALSE sayması ve boş alfanümerik değişkenleri FALSE, dolu alfanümerik değişkenleri ise TRUE olarak değerlendirmesidir. Fakat bunun yanında PHP, Mantıksal/Boolean adında bir değişken değiştirme fonksiyonuna sahiptir ve bu tür değişkenlerin türü sorulduğunda "boolean" karşılığını verir .

Değişkenlerin Türlerinin Belirlenmesi

Bir programcı, programda kullandığı değişkenlere atadığı değerlerin türlerini genellikle bilir. Ama yüzlerce değişkenin kullanıldığı bir web programda değişkenlerin türlerini unutmak çok kolaydır. Kimi zaman da değişkenlere program yoluyla değer atanır. Başka bir deyişle program bazı değişkenleri kendisi oluşturabilir ve bu değişkenlere kendisi değer atayabilir. Program yoluyla atanan değerlerin atıldığı değişkenlerin, türlerinde de kuşkuya düşüldüğü anlar olabilir. Bir değişkenin değerinin türü hakkında kuşku duyulduğunda, en emin yol; bu değişkenlerin türlerinin, PHP'deki fonksiyonlar yardımıyla sorgulanmasıdır. Bu sorgulama gettype() fonksiyonu ile yapılır. Örnek olarak;


$sayi  = 7;
print("Birinci değişkenin adı: \$sayi
");
print("Değeri : "); print "$sayi
";
print("Türü : "); print gettype( $sayi ) ; //tamsayi/integer

$alfanumerik  = "Gökmen";
print "İkinci değişkenin adı: \$alfanumerik
";
print "Değeri : "; print "$alfanumerik
";
print("Türü : "); print gettype( $alfanumerik ) ; //alfanümerik/string

$ondalik  = 5.1234;
print "Üçüncü değişkenin adı: \$ondalik
";
print "Değeri : "; print "$ondalik
";
print("Türü : "); print gettype( $ondalik ) ; //çift,ondalık/double
      
$mantiksal  = true;
print "Üçüncü değişkenin adı: \$mantiksal
";
print "Değeri : "; print "$mantiksal
";
print("Türü : "); print gettype( $mantiksal ) ; //mantıksal/boolean

Son örnekte kullanılan mantıksal adlı değişkene, boolean değer olarak, doğru anlamına gelen true değeri atanıldığı halde, PHP bu değişkenin değerini 1 olarak verir. PHP'de bir fonksiyon elde ettiği değer doğru ise sonuç olarak 1, yanlış olduğu durumlarda ise sonuç olarak 0 değerini verir .

Değişkenlerin Türlerinin Değiştirilmesi

Kimi zaman bir değişkene atanılan değerin türünü değiştirmek gerekebilir. PHP’de bu işlem settype() fonksiyonu ile yapılabilir. Fakat bu değiştirme işlemleri belirli türler arasında olabilir. Örneğin:

$degisken  = 5.67890;
print("Değişkenin  değeri : "); print "$degisken
";
print("Türü : "); print gettype( $degisken ) ; //çift,ondalık/double

print "İlk değiştirme işlemi: Alfanümerik/String:
";
settype( $degisken, string ); //alfanümerik/string
print "Değeri : "; print "$degisken
";
print("Türü : "); print gettype( $degisken ) ; //alfanümerik/string

print "İkinci değiştirme işlemi: Tamsayı/Integer:
";
settype( $degisken, integer ); //Tamsayı/Integer
print "Değeri : "; print "$degisken
";
print("Türü : "); print gettype( $degisken ) ; //Tamsayı/Integer

print "Üçüncü değiştirme işlemi: Ondalık/Double:
";
settype( $degisken, double ); //çift,ondalık/double
print "Değeri : "; print "$degisken
";
print("Türü : "); print gettype( $degisken ) ; //çift,ondalık/double

print "Dördüncü değiştirme işlemi: Mantıksal/Boolean:
";
settype( $degisken, boolean ); // Mantıksal/Boolean
print "Değeri : "; print "$degisken
";
print("Türü : "); print gettype( $degisken ) ; // Mantıksal/Boolean

Bu örnekte, değişkene ilk olarak ondalık (double) değer atanmıştır (5.67890) . Bu değerin türü alfanümerik (string) olarak değiştirildiğinde değişkenin değerinin sabit kaldığı görülür (5.67890). Fakat bu değişken, tamsayıya (integer) çevrildiğinde PHP değerin tamsayı bölümünü alıp, ondalık-kesir bölümünü atar (5). Daha sonra değişkenin türü yeniden ondalık yapıldığı halde, atılan bu bölüm geri gelmez. Son olarak değişken mantıksal ifade olarak değiştirildiğinde, değeri doğru (true) olup, değer olarak “1” döner. PHP sıfır dışındaki tüm değerleri “doğru”ya çevirir. Sıfır değerini ise, “yanlış” olarak atar ve “boş (null)” değeri verir.

PHP’de bir başka tür değiştirme işlemi; “$degisken1=  (boolean) $degisken;" şeklinde yapılır. Burada $degisken1 adlı değişkene $degisken adlı değişkenin değeri (eşittir işareti ile) atılırken, arada yeni değişkenin kazanması istenilen türün adı parantez içinde yazılır. Bu işlem sonucunda $degisken adlı değişkenin değerinde hiç bir değişiklik meydana gelmez .

SanalPusula.Net


SanalPusula.Net - Etiketler
PHP Değişkenlerin Veri Türleri,