Değişken, verilerin tutulduğu konteynırlardır. Tüm programlama dillerinde olduğu gibi PHP’de de değişkenler tanımlanır ve ihtiyaç olduğunda kullanılır.
Php’de bir değişken $ işareti ile başlar.
1 2 3 4 5 |
<?php $txt = "Merhaba Dünya!"; $x = 3; $y = 8.5; ?> |
Yukarıda ki örnekte $txt değişkeni “Merhaba Dünya!” değerini, $x değişkeni 3 değerini, $y değişkeni ise 8.5 değerini tutar.
Not 1: Php’de metin türünde bir değişken tanımlanırken tırnak işaretleri kullanılır.
Not 2: Php’de değişken tanımlamak için kullanılan bir komut yoktur, bu nedenle tanımlandığı yerde değeri verilir.
Php Değişken Tanımlama Kuralları
Değişken tanımlarken php dilinde keskin kurallar olmamasına rağmen, bazı şeylere dikkat etmek gerekir.
- Değişken isimleri harfle veya _ karakteri ile başlamak zorundadır. Yani değişkenler rakam ile başlayamaz.
- Değişken isimlerinde alfa nümerik karakterler kullanılmalıdır. (A-z, 0-9, ve _)
- Değişken isimleri büyük-küçük harf duyarlıdır. Yani $ad ile $AD farklı değişkenlerdir.
- Zorunluluk bulunmamasına rağmen değişkenler isimlendirilirken, açıklayıcı isimler kullanmak ileride işlerimizi kolaylaştırır.
Değişkenlerin Değerlerini Ekrana Yazırma
Php’de ekrana bir şey yazdırmak için echo komutu kullanılır.
1 2 3 4 |
<?php $txt = "kodlamamerkezi"; echo $txt; ?> |
Php’de birden fazla değişkeni ekana basarken “.” işareti ile birleştirme yapabilirsiniz.
1 2 3 4 |
<?php $txt = "kodlamamerkezi"; echo $txt. "ile php öğreniyorum! "; ?> |
Not 3: Php Loosely Typed (katı kuralları olmayan) bir dildir. Yani c#, java gibi dillerde değişkenin türü mutlaka başlangıçta belirlenirken, Php değişkenlerin türlerini otomatik olarak kendisi belirler.
Değişkenlerin Kapsamı (Geçerlilik Kuralları)
Php’de değişkenleri istediğimiz yerde tanımlayabiliriz. Fakat bu değişkenlerin değerine erişmeye çalışırken bazı kurallara dikkat etmemiz gerekir. Php’de değişkenlerin tanımlandığı yere göre kapsamı farklılık göstermektedir.
Php’de değişkenlerin kapsamı 2 farklı şekilde ifade edilebilir. Bunlar;
- Global
- Local’dır.
Global Kapsamı
Bir fonksiyonun dışında tanımlanmış değişkenler, global olarak isimlendirilir. Bu değişkenlere fonksiyonların içerisinden erişilemez.
1 2 3 4 5 6 7 8 9 10 |
<?php $x = 5; // global tanımlama yapılmış function yaz() { echo "Değişken x: $x"; //değişkene erişilemediğinden hata alınır. } yaz(); echo "Değişken x: $x"; ?> |
Local Kapsamı
Bir fonksiyonun içerisinde tanımlanmış bir değişkene sadece o fonksiyonun içerisinden erişilebilir. Bu tip tanımlanmış değişkenlere local kapsamlı değişken adı verilir.
1 2 3 4 5 6 7 8 9 10 11 |
<?php function yaz() { $x = 5; // local tanımlama yapılmış echo "Değişken x: $x"; } yaz(); echo "Değişken x: $x"; // Değişken local olduğu için burada erilemez ve hata alınır. ?> |
Global Anahtar Kelimesi Kullanımı
Global anahtar kelimesi ile, global olarak tanımlanmış (yani fonksiyonun dışarısında tanımlanmış) bir değişkene fonksiyonun içerisinden erişilebilir.
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $x = 5; $y = 10; Function test() { global $x, $y; $y = $x + $y; } test(); echo $y; // 15 değeri görüntülenir. ?> |
Static Anahtar Kelimesi Kullanımı
Normalde bir fonksiyonun çalıştırıldığında içerisinde ki değişkenlerin değerleri sıfırlanır. Bazı durumlarda değişkenlerin değerlerinin saklanmasını isteyebiliriz, bu durumda static anahtar kelimesi kullanılır.
1 2 3 4 5 6 7 8 9 10 11 |
<?php function deneme() { static $x = 0; echo $x; $x++; } deneme(); // Ekrana 0 yazılır. deneme(); //Ekrana 1 yazılır. ?> |
Merhaba, internetin altını üstüne getirdim ama bir cevap bulamadım, şimdi diyelimki bir değişken var ve function içinden erişeceğim. o zaman function içine global ile çağırınca bu oluyor ama içinde olan değişkeni function dışına çıkarmak isteyince function dan sonra içerdeki değişkeni dışarı aktarmadan önce function dışına global ile değişken çağrılabiliyor bunun bir sakıncası varmıdır?
$deneme = 1;
global $baska_deneme;
function test()
{
global $deneme,$baska_deneme;
echo $deneme;
$baska_deneme = 2;
}
test();
echo $deneme;
echo $baska_deneme;