PHP/Veri türleri ve değişkenler
Değişkenler
değiştirDeğişkenler, belli bir değer tutar ve programın herhangi bir yerinde o değerleri kullanmamızı sağlar. Değişken isimlendirmede uyulması gereken bazı kurallar vardır.
- Değişken isimleri $ (dolar işareti) ile başlamalıdır.
- Değişken isimleri Türkçe karakter içermemelidir.
- Değişken isimleri bir harf veya alt çizgi işareti ile başlayabilir.
- Değişken isimleri büyük küçük harfe duyarlıdır.
<?php
$char = "g"; // geçerli
$_char = "z"; // geçerli
$1char = "a"; // geçersiz. sayı ile başlıyor
char = "k"; // geçersiz. dolar işareti unutulmuş
$Number = 15;
$number = 27.7;
/*
bunlar iki ayrı değişkendir. Değikenler
büyük küçük harfe duyarlı olduğundan
bunlar iki ayrı değişken olarak ele alınır.
*/
?>
Değişken isimlendirme hususunda yukarıdaki kuralların dışında, zorunlu olmayan ama uyulması tavsiye edilen bazı durumlar vardır. Örneğin değişken isimleri, tuttukları değerlerle ilintili olmalıdır. Bu sayede okunabilirlik de artacaktır.
<?php
$a = 9; // doğru ama iyi bir yöntem değil
$mynumber = 9; // böyle daha iyi
?>
Birden çok sözcükten oluşan değişkenlerin isimlendirmesinde ise sözcükler arasında alt çizgi kullanılabilir veya CamelCase yöntemi tercih edilebilir.
<?php
$my_number = 9; // alt çizgiyle ayırma
$myNumber = 9; // lower camel case
$MyNumber = 9; // upper camel case
?>
Tanımlama ve ilklendirme
değiştirPHP'de bir değişkenin kullanılmadan önce veri türünün belirtilerek tanımlanması ve ilklendirilmesi gerekmez. Değişkenlerin türleri, kullanıldıkları duruma ve aldıkları değerlere göre PHP yorumlayıcısı tarafından belirlenir. Tamsayı değer tutan bir değişken o an için integer türündedir, ancak daha sonra aynı değişkene bir karakter dizisi atanırsa değişkenin türü string olacaktır.
PHP'nin, bazı özelliklerini miras aldığı C Programlama Dili'nde değişkenler, programın başında türleriyle birlikte tanımlanmalı ve bir ilk değer atanmalıdır. Çünkü ilk değer verilmediğinde o değişken, türüne göre (integer, float vb.) rastgele bir değer alır. C Dili'nde tanımlama ve ilklendirmenin bir örneği:
#include <stdio.h>
int main(int argc, const char* argv[])
{
int number = 0; // integer türünde bir değişken tanımlanıyor ve ilk değer olarak 0 veriliyor
}
Ancak PHP'de buna gerek yoktur. Denildiği gibi PHP değişkenlerini programın başında tanımlayıp ilklendirmek gerekmez. Yine de değişkenleri tanımlayıp bir ilk değer atamak bazı durumlarda gerekli olabilir.
<?php
$number; // gereksiz
$number = 0; // daha iyi
/*
daha sonra birtakım işlemler sonucu $number
değişkeninin değeri değişecek
*/
?>
Veri türleri
değiştirPHP yalın [sayısal (scalar)] veri türleri, bileşik (compound) türler ve 2 adet özel türe sahiptir.
Yalın veya sayısal türler:
- integer
- string
- boolean
- float
Bileşik türler:
- array
- object
Özel türler:
- null
- resource
integer
değiştirinteger değerler pozitif veya negatif tamsayılardır.
<?php
$number1 = 157; // pozitif tamsayı
$number2 = -21; // negatif tamsayı
?>
Tamsayılar yukarıdaki biçimde onluk tabanda belirtilebileceği gibi sekizlik veya onaltılık tabanda da belirtilebilir. Tamsayılar sekizlik tabanda belirtilirken başlarına 0, onaltılık tabanda belirtilirken ise 0x veya 0X getirilir. Ek bilgi için bkz: Konumsal yazım ve sayı tabanları
<?php
$number1 = -54; // onluk tabanda negatif tamsayı
$number2 = 065; // sekizlik tabanda. onluk karşılığı: 53
$number3 = 0x2B; // onaltılık tabanda. onluk karşılığı: 43. Ayrıca 0X2B olarak da yazılabilirdi
?>
string
değiştirBir veya bir dizi karakterin oluşturduğu veri türüdür. string ifadeler veya diğer adıyla karakter dizileri, tek tırnak veya çift tırnak içinde tanımlanır.
<?php
$place = 'Vikikitap'; // tek tırnaklı bildirim
$subject = "PHP"; // çift tırnaklı bildirim
?>
Karakter dizisi bildirimlerindeki tırnak kullanımında dikkat edilmesi gereken bir husus vardır:
<?php
$quote = "Friedrich Schiller der ki: "Doğruluk, her türlü şart altında meyve verir."";
?>
Burada çift tırnak ile bir karakter dizisi tanımlanıyor ve bu karakter dizisi içinde yine çift tırnak kullanılarak bir alıntı yapılıyor. PHP yorumlayıcısı ilk çift tırnaktan itibaren bu ifadeyi yorumlamaya başlayacaktır. der ki: ifadesinden sonra ise ikinci çift tırnağı görecektir. Buraya kadar PHP yorumlayıcısı için herhangi bir sorun yoktur. Yorumlayıcı, ifadeyi işlemeye devam ettiğinde kendisi için bir şey ifade etmeyen Doğruluk sözcüğüyle karşılaşacak ve hata verecektir. Bu durumu aşmak için aynı karakter dizisi şu şekilde tanımlanabilir:
<?php
$quote = "Friedrich Schiller der ki: 'Doğruluk, her türlü şart altında meyve verir.'";
?>
Burada $quote değişkenine yine çift tırnak kullanılarak değer veriliyor ancak bu çift tırnaklar içindeki alıntı tek tırnaklar kullanılarak yapılıyor. Bu sayede PHP yorumlayıcısının karakter dizisini düzgün bir biçimde işlemesi sağlanıyor.
Yukarıdaki karakter dizisi şöyle de tanımlanabilirdi:
<?php
$quote = 'Friedrich Schiller der ki: "Doğruluk, her türlü şart altında meyve verir."';
?>
Bu kod parçasında ise $quote değişkeninin tutacağı karakter dizisi tek tırnaklarla sarmalanıyor. Karakter dizisi içindeki alıntı ise sorun çıkmaması için çift tırnaklarla sarmalanıyor.
float
değiştirKayan noktalı sayılar veya diğer bir deyişle gerçel sayıları kapsar. Örneğin:
<?php
$number1 = 12.85;
$number2 = 2.45e6;
$number3 = 1.123E-2;
?>
Ek bilgi için bkz: Kayan noktalı sayılar
boolean
değiştirboolean türü true (doğru) ve false (yanlış) değerlerinden oluşur. Bunlar genellikle mantıksal bir sınama işlemi sonucunda ortaya çıkar. Ancak tabii ki bir değişkene de mantıksal bir değer atanabilir.
<?php
$bool = true;
$bool = false // $bool değişkeni artık "false" değerine sahip
?>
boolean değerler büyük - küçük harfe duyarsızdır.
<?php
$bool1 = true;
$bool2 = TRUE;
$bool3 = True;
// üç değişken de true değer alır
?>