PHP ve Değişkenlere bakış
PHP'de bir değişken, $ işaretiyle başlar ve onu değişken adı izler bir değişkene bir metin değeri atadığınızda, değerin etrafına çift tırnak işaretleri konur.
Diğer programlama dillerinden farklı olarak, bir değişkeni bildirmek için php'in (Var degisken veya Dim degisken) gibi bir komutu yoktur bir değer atandığı anda oluşur.
Bir değişken için aklımızda bulundurmamız gereken kurallar.
- Bir değişken, $ işaretiyle başlar ve onu değişken adı takip eder.
- Değişken adı $ işaretinden sonra , bir harf veya altçizgi karakteriyle başlamalıdır.
- Bir değişken adı bir sayı ile başlayamaz.
- Değişken adı sadece alfasayısal karakterler ve altçizgiler içerebilir (A-z, 0-9 veya _).
- Değişken adları büyük küçük harfe duyarlıdır $degisken ve $DEGISKEN iki farklı değişkendir.
- Değişken adlarında türkçe karakter kullanılmamalıdır.
<?php
$degisken = "RenkliKodlar";
echo "Merhaba $degisken ve PHP";
?>
Kopyala
Bir diğer kullanımı da şu lekildedir.
<?php
$degisken = "RenkliKodlar";
echo "Merhaba " . $degisken . " ve PHP";
?>
Kopyala
Bu iki kodların her ikisi de ekrana Merhaba RenkliKodlar ve PHP yazdırır
Sayısal değişkenler
Sayısal değişkenler de aynen diğer değişkenler gibi yazılır sadece değerleri çift tırnak içine alınmaz eğer tırnak içine alınırsa sadece ekrana basmak için kullanılabilir ancak (toplama çıkarma çarpma) gibi matematiksel işlemler yapılamaz aşağıdaki kodlar 2 değişkenin toplam sonucunu verir.
<?php
$a_sayi = 6;
$b_sayi = 4;
echo $a_sayi + $b_sayi;
?>
Kopyala
Üç farklı değişken kapsamı vardır.
- local (yerel)
- global (küresel)
- static (sabit)
global değişkenler
global değişkenler sadece bir işlevin dışında tanımlanan değişkenlerdir
<?php
$sayi = 5; // global değişken
function Test() {
// $sayi değişkeni burada kullanılırsa hata verir
echo "Üstteki değişkeninin degeri: $sayi";
}
Test();
echo "Üstteki değişkeninin degeri: $sayi"; // sadece bu satır çalışabilir
?>
Kopyala
global değişkenleri fonksiyonlar içinde kullanabilmek için (fonksiyon içinde) değişkenlerin önüne global anahtar kelimesini kullanırız.
<?php
$sayi = 5; // global değişken
function Test() {
global $sayi; //daha fazla değişkeni (global $a_sayi, $b_sayi, $c_sayi;) virgülle ayırarak kullanırız
echo "Üstteki değişkeninin degeri: $sayi";
}
Test(); //bu satır da çalışır
echo "Üstteki değişkeninin degeri: $sayi"; //bu satır da çalışır
?>
Kopyala
PHP ayrıca tüm global değişkenleri $GLOBALS adlı bir dizinde saklar. Dizin, değişkenin adını tutar. Bu diziye fonksiyon içinden aşağıdaki gibi de erişilebilir.
<?php
$a_sayi = 8;
$b_sayi = 10;
function Test() {
$sayi = $GLOBALS["a_sayi"] + $GLOBALS["b_sayi"];
echo $sayi;
}
Test(); // ekrana 18 yazdırır
?>
Kopyala
local değişkenler
Bir fonksiyonda (içinde) belirtilen bir değişken local değişkendir ve sadece bu fonksiyon içinde erişilebilir.
<?php
function Test() {
$sayi = 10; // local değişken
echo "Üstteki değişkeninin degeri: $sayi";
}
Test(); //function çağrılıp ekrana Üstteki değişkeninin degeri: 10 yazdırır
// aşağıdaki komut çalışmaz hata verir çünkü $sayi değişkeni function içinde ve sadece içinde kullanılabilir
echo "Üstteki değişkeninin degeri: $sayi";
?>
Kopyala
static değişkenler
Normalde, bir işlev tamamlandığında yürütülen, tüm değişkenler silinir. Ancak, bazen silinmeyecek bir sabit değişkene ihtiyacımız olur, bir fonksiyonu sayfamızda birkaç defa çağırdık ve her defasında kaçıncı erişimiz olduğunu bilmek isteyebiliriz bazen, işte tam bu durumlarda static değişkenlerden faydalanırız.
<?php
function Test() {
static $degisken = 0; //değişkenin ilk değerini 0 olarak belirttik
echo $degisken."<br>";
$degisken++; // her erişimde değişkeni 1 arttıralım
}
Test(); // ilk erişimiz 0
Test(); // ikinci erişimiz 1
Test(); // üçüncü erişimiz 2
?>
Kopyala
Değişkenleri, bilgi depolamak için bir depo gibi düşünün, isimlerini de depodaki bu bilginin numarası gibi sayfa kodlarımız başladıktan sonra istediğimiz yerde oluşturulabilirler ve sayfa kodlarımız son bulmadan istediğimiz anda o depoya baş vurarak istediğimiz numarali bilgiyi çekebiliriz.
Php değişkenleri yazımı burada tamamlıyorum başka bir yazıda buluşmak dileği ile kendinize iyi bakın..
Mehmet İbrahim