PHP de değişkenler
Değişken tanımlamak, Değişken tip atamaları, Değişkenlerin farklı kullanımları, Değişkenlerin etki alanı, Özel tanımlı değişken dizileri
Bu php’de değişkenler $ karakteri ile başlar. İçerisinde a-z A-Z _ gibi karakterlerin yanı sıra başta olmamak koşuluyla 0-9 arası karakterleri kullanabilirsiniz. Birazdan uygun ve uygun olmayan değişken tanımlamalarına bakacağız hep birlikte…
Uygun değişken ataması
|
Uygun olmayan değişken ataması
|
|
|
$_deger
|
degisken
|
$deger5001
|
$*degismeyen
|
$t1223
|
$ööşşğğüü (TR karakter işi bozabilir)
|
PHP’de değişken tipi tanımlama zorunluluğu yoktur. Atanan değere göre PHP değişken tipini tanıyacaktır…
Değer
|
Açıklama
|
|
|
$string =”string değer” |
PHP bunun string olduğunu anlayacaktır
|
$bool = true
|
PHP buna booleandır diyecektir |
$karma = 1234.”ff” |
. operatörüyle birleştirilmiş bir integer ve bir string, PHP tarafından string olarak algılanacaktır. |
$integer = 50; |
PHP bunun integer olduğunu anlayacaktır |
PHP bir özelliğiyle değişkenlerin değerlerinden değişken türetmenize ya da başka bir değişkenin içeriğine ulaşmanızaa olanak tanır.
$birinci = “ikinci”; $ikinci =”ikinci değiken içeriği”;
Echo $$birinci;
//Çıktı: ikinci değişken içeriği |
İşte bunun sonucu $ikinci değişkeninin içindeki değer olacaktır. Neden derseniz. $$birinci dediğimiz vakit, php yorumlayıcı ilk olarak $birinci değişkeninin değerini çeker. $ikinci olarak şekle giren şey bize $ikinci değişkeninin değerini verir.
$dene = “Deneme”;
$tekli =’birinci değiken içeriği $dene’;
$ciftli =”$tekli ve ikinci değiken içeriği”;
Echo $tekli;
//Çıktı: birinci değişken içeriği $dene; echo $ciftli;
//Çıktı: birinci değişken içeriği $dene ve ikinci değişken içeriği |
Görüldüğü gibi “ ile tanmlanmış değişkenin içeriği incelenmiş, $dene görüldüğü yerde yerine oturtulmuştur…
PHP’de de diğer dillerde olduğu gibi bir değişkenin etki alanı vardır. Siz sayfa genelinde bir değişken tanımlarsanız o değişken tüm sayfada her yerde değerini taşır, kullanılabilir. Ancak bir fonksiyon ya da benzeri bir blokta kullanılan değişkenlerin etki alanları yalnızca kendi alanlarının içerisidir;
$globalDegisken = “Globaldir”;
Function bas()
{
Echo $globalDegisken;
}
Bas();
//Çıktı olmayacaktır.çünkü $globalDegisken bas içerisinde etkisizdir. |
|
Yukarıdaki komut satırları işletildiğinde elinizde bomboş bir sayfa olacaktır. Sebebi ise fonksiyon dışında tanımlanmış $globalDegisken değişkeninin geçerliliği bas fonksiyonu içerisinde söz konusu değildir. Oysa ki;
$globalDegisken = “Globaldir”;
$_GLOBALS[‘global’] = $globalDegisken;
Function bas()
{
Echo $globalDegisken;
}
Bas();
//Çıktı : Globaldir
|
Şeklinde kullanılsaydı, fonksiyon içerisinde kullanılacak bu değişkenin global bir değişken olduğunu $_GLOBALS dizisine atayarak belirttiğimiz için çıktımız “Globaldir” olacaktı.
Local noktalarda global değişkenleri kullanabilmek için global anahtar sözcüğünden faydalanabiliriz.
PHP içerisinde önceden tanımlanmış bir takım değişken dizileri vardır. Bunlar bazı özel değişken tiplerine ulaşmak için kullanılırlar. Örneğin $_POST dizisi, post metodu ile gelen değişkenleri barındırır, ulaşım ise geliş adı deneme olan bir değişken için $_POST[‘deneme’] şeklinde olacaktır.
$_SESSION serisi oturum ile alakalı değişkenleri barındırırken, $_SERVER dizisi, server ile alakalı bir takım değerleri barındıran değişkenlerin bulunduğu dizidir. Örnek olarak $_SERVER[‘QUERY_STRING’] olarak erişebileceğiniz değer, sunucuya gelen istek sorgusunu yansıtır. Eğer www.deneme.com/index.php?hmm=221&oeah=1213 şeklinde bir adres ile tetiklenmişse, sayfa içerisinde query_string ile dönecek değer “hmm=221&oeah=1213” olacaktır.