PHP’de değişken tanımlamak için değişken adının başına dolar($) sembolü eklenir.. Değişken adı büyük-küçük harf duyarlıdır. PHP’de değişkenin bildirim komutu olmadığı için değişken yazıldığı anda tanımlanış olur.
Geçerli bir değişken ismi bir harf(Türkçe karakterler hariç) veya alt çizgi imi ile başlar, herhangi sayıda harf, sayı veya alt çizgi iminden oluşur. Değişken ismi için kullanılabilecek harfler a-z veya A-Z arasındaki ASCII harfler ve 127 ile 255 arasındaki sembollerden oluşur.
NOT: Diğer programlama dillerinde programa ait olan deyimler kullanılmazken, PHP sadece $this değişken ismi olarak kullanılmıyor.
PHP değişken tanımlarken bilmeniz gerekenler ( PHP Değiken Tanımlama Kuralları )
- Değişkenler her zaman $ sembolü ile başlar.
- Değişkenin içindeki değer en son atanan değerdir.
- Değişken içine değer atama işlemi için = sembolü kullanılır. Atama işlemi sağdan sola doğru yapılmaktadır.
- Değişkenlerin tanımlı bir veri tip yoktur. İçine aktarılan değerin tipi ne ise değişken de o tipi almaktadır.
- Değişken içine metinsel(string) türünde bir değer aktarılacaksa çift tırnak içine yazılır.
- PHP gerektiğinde değişkenleri dönüştürme işlemi yapar.(metinsel iki değeri toplam)
Örnek Kullanımlar
Büyük küçük harf duyarlılığı vardır. Çift tırnak içinde değişkenleri yazdırmak mümkündür. Tek tırnak içinde değişken yazdırılamaz.
1 2 3 4 5 6 |
<?php $site = 'yazilimbilisim.net'; $Site = 'Ziyaret et'; echo "$site $Site"; |
Değişken sayı ile başlayamaz.
1 2 3 4 |
<?php $4sinif = 'Sınıf değerleri'; // Geçersiz değişken tanımlaması |
127-255 karakter seti arasındaki semboller değişken isimlerinde kullanılabilir.
1 2 3 4 5 6 7 |
<?php $dağ = 'Ağrı Dağı'; // geçerli; ISO-8859-9'da 'ğ' harfi 127-255 // arasında, UTF-8'de ise iki baytı 127-255 // arasındadır. echo $dağ; |
$this değişken ismi olarak kullanılamaz. Aşağıdaki kod hata verecektir.
1 2 3 4 5 |
<?php $this="merhaba"; echo $this; |
global ifadesinin kullanımı
PHP’de bir değişken tanımlandığı etki alanı içinde geçerlidir. Her hangi bir fonksiyon içinde küresel alanda tanımlanmış değişkeni doğrudan kullanmak mümkün değildir. Aşağıdaki $a değişkeni küresel alanda tanımlanmış ve fonksiyon içinde kullanılmaya çalışılmaktadır. fonksiyon içinde tanımlanmadığı için değişken tanımlanmamış hatası verecektir.
1 2 3 4 5 6 7 8 9 |
<?php $a = 1; /* küresel etki alanı */ function deneme() { echo $a; /* işlevin etki alanı */ } deneme(); |
Eğer küresel alanda tanımlanmı değişkeni kullanmak gerekirse global değimi ile değişken fonksiyon içine alınabilir. Unutulmaması gereken nokta ise değişkenin küresel alandaki değişkene referansı olduğudur. Bu yüzden değişkende yapılacak her hangi bir değişiklik küresel alandaki değişkenin değişmesine neden olacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $a = 1; /* küresel etki alanı */ function deneme() { global $a; echo $a; /* işlevin etki alanı */ } deneme(); |
Küresel alandaki değişkeni yazdırmak için süper global ($GLOBALS) değişkenlerde kullanılabilir.
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $a = 1; /* küresel etki alanı */ function deneme() { echo $GLOBALS['a']; /* işlevin etki alanı */ } deneme(); |
PHP değişkenlerinde aşağıdaki veri tiplerine ait değerler saklanmaktadır.
- “boolean“
- “integer“
- “double” (tarihsel sebeplerle float durumunda “double” döndürülür)
- “string“
- “array“
- “object“
- “resource“
- “NULL“
- “unknown type”
ÖRNEKLER:
boolean
1 2 3 4 5 6 7 8 9 |
<?php $durum=true; if($durum==true) echo "durum true olarak işaretlenmiş"; ?> |
integer
1 2 3 4 5 6 7 8 9 |
<?php $x = 5; $y = 4; $sonuc= $x + $y; echo $sonuc; ?> |
double
1 2 3 4 5 6 7 8 9 10 11 |
<?php $ucret=15.75; $kdv=1.18; $toplam=$ucret*$kdv; echo $toplam; ?> |
string
1 2 3 4 5 6 7 8 9 |
<?php $isim="merhaba dünya"; echo $isim; ?> |
array
1 2 3 4 5 6 7 |
<?php $dizi=[20,"merhaba",true,12.70]; print_r($dizi); |
object
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php class Kisi{ public $ad; public $soyad; function adSoyadGetir(){ return $this->ad." ".$this->soyad; } } $kisi1=new Kisi(); |
resource
Özel kaynaklar tarafından oluşturulan ham veriler için kullanılır. Örn. ftp bağlantısından gelen dosyalar, grafik kütüphanesi ile oluşturulan resim belgesi vs.
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php header("Content-Type: image/png"); $im = @imagecreate(500, 100) or die("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($im, 255, 255, 0); $text_color = imagecolorallocate($im, 0, 0, 0); imagestring($im, 5, 150, 40, "YAZILIMBILISIM.NET", $text_color); imagedestroy($im); //$im dosyasının resource tipindedir. |
NULL
Bir değişken NULL türündeyse:
-
Kendisine
NULL
sabiti atanmış demektir. -
Kendisine herhangi bir değer atanmamış demektir.
-
unset() işlevine aktarılmış demektir.
1 2 3 4 5 6 |
<?php $isim=NULL; echo $isim;//değer görünmemektedir. |
unknown type :dosya açıldığında yada oluşturulduğunda resource tipinde alınmaktadır. dosya kapatıldıktan yada bellekten boşaltıldıktan sonra php unknown tipinde değer döndürmektedir.
1 2 3 4 5 6 7 |
<?php $f = fopen('https://placeholdit.imgix.net/~text?txtsize=33&txt=350%C3%97150&w=350&h=150','r'); echo gettype($f); // resource fclose($f); echo gettype($f); // unknown |
[…] PHP Değişken Tanımlama […]