Her
programlama dilinde olduğu gibi PHP'de de değişkenler çok önemlidir.
Daha önce programlama tecrübesi olanlar için değişken (variable) çok
yakın bir ifadeyken yeni programlamaya başlayan biri için en temel soru
işaretidir. Değişkenleri iyi kavramadan diğer konulara geçmek
imkansızdır. Çünkü her adımda değişkenlerle mutlaka karşılaşacağız.
Değişkenler kod içerisinde değiştirmeyi düşündüğümüz veya çeşitli
verileri içinde sakladığımız isim parçalarıdır.
Normal hayattan
örnek vermek gerekirse, okula gittiğimiz zaman sürekli olarak "ders" 'e
gireriz, işte bu değişkendir. Hangi derse girdiğimiz ise bu değişkenin
değeridir. Örneğin 1. ders Matematik, 2. ders Türkçe şeklinde
değişkenimiz sürekli olarak değişebilir. 1. ders de iken dersimiz ne
diye sorduğumuzda herkes Matematik cevabını verirken, 2. ders'e
girdiğimizde aynı soruya cevabımız Türkçe olacaktır..
Şimdide programlama kısmına geçelim. PHP'de değişkenler
$ ile belirtilmektedir. Eğer PHP'de bir yazının başında
$ işareti varsa o değişkendir. Değişkenleri tanımlarken dikkat etmemiz gereken bazı noktalar vardır.
- Değişken numara ile başlayamaz
$1numara
yanlıştır
- Karakter kullanılamaz (+,-,& gibi)
$numara-1
yanlıştır
- Türkçe karakter kullanılamaz
$türkçe
yanlıştır
- PHP standart değişkenleri kullanılamaz
$HTTP_POST_VARS
yanlıştır Bu standart değişkenlere ilerde değineceğim.
- Büyük-Küçük harf duyarlıdır
$degisken ve
$DegiskeN farklı iki değişkendir
- Değişken isimlerini mümkün olduğunca açık ve net yazmak gerekir
$DersinAdi gibi
- Belirli
bir standardı takip etmemiz kodlama açısından faydalı olacaktır,
kelimenin 1. harfini büyük yazmak veya kelimelerin arasını _ ile
ayırmak gibi
$DersinAdi veya
$dersin_adi şeklinde
Bu konuları örnekten önce anlattım ama bunlara mutlaka bilmemiz gereken hususlardır. Şimdi ilk ve en basit örneğimizi yapalım
PHP Kodu:
<?
$mesaj
=
"Merhaba Dünya"
;
echo(
$mesaj
);
?>
Bunun çıktısı aşağıdaki şekilde olacaktır.
Gördüğünüz gibi değişkenimize bir değer atadık ve ekrana bastık. Gerçek dünyadaki örneğimize uygun bir örnek yapalım.
PHP Kodu:
<?
$dersin_adi
=
"Matematik"
;
echo(
"1. Dersin Adı : "
);
echo(
$dersin_adi
);
echo(
"
"
);
$dersin_adi
=
"Türkçe"
;
echo(
"2. Dersin Adı : "
);
echo(
$dersin_adi
);
?>
Bunun çıktısı aşağıdaki şekilde olacaktır.
HTML Code:
1. Dersin Adı : Matematik
2. Dersin Adı : Türkçe
Değişkenimize bir değer atamak istediğimiz zaman
= işaretini kullanmamız yeterli olacaktır. PHP'de yazıları birbiriyle birleştirmek için
. (nokta) kullanabiliriz. Yukarıdaki örneğimiz
. (nokta) kullanarak yazdığımız zaman daha kısa ve anlaşılır olacaktır.
PHP Kodu:
<?
$dersin_adi
=
"Matematik"
;
echo(
"1. Dersin Adı : "
.
$dersin_adi
.
"
"
);
$dersin_adi
=
"Türkçe"
;
echo(
"2. Dersin Adı : "
.
$dersin_adi
);
?>
Bu kodun çıktısı da yukarıdaki ile aynı olacaktır.
. (nokta)
ile yazılarımızı ve değişkenlerimizi birleştirmiş olduk. Bunu birçok
yerde kullanabiliriz. Mesela isim ve soyadı ayrı ayrı alıp ekrana tek
bir parça halinde yazabiliriz.
PHP Kodu:
<?
$isim
=
"Hasan"
;
$soyad
=
"Yaşar"
;
echo(
$isim
.
" "
.
$soyad
);
?>
Bu kod ekrana Hasan Yaşar yazacaktır. Aynı işlemi iki değişkenimizi bir değişkende birleştirerek de yapabilirdik.
PHP Kodu:
<?
$isim
=
"Hasan"
;
$soyad
=
"Yaşar"
;
$isim_soyad
=
$isim
.
" "
.
$soyad
;
echo(
$isim_soyad
);
?>
Bu
kodumuz da ekrana aynı sonucu yazacaktır. PHP'de değişkenler konusunda
oldukça esnektir. Hem yazıyı, hem sayıyı değişken olarak atayabiliriz.
PHP Kodu:
<?
$isim
=
"Hasan"
;
$soyad
=
"Yaşar"
;
$yas
=
27
;
echo(
$isim
.
" "
.
$soyad
.
" "
.
$yas
.
" yaşındadır"
);
?>
Buradaki kodumuz ekrana
Hasan Yaşar 27 yaşındadır yazacaktır. Esneklik olarak değişkenimizi
. (nokta)
ile birleştirmek yerine direk olarak parantez içerisinde de
yazabilmekteyiz. Yukarıdaki tanımlamalarımızın devam ettiğini düşünerek
alttaki örneği yazabiliriz.
PHP Kodu:
<?
echo(
"$isim $soyad $yas yaşındadır"
);
?>
Bu
kodun ekran çıktısı da aynı olacaktır. Bir önceki konuda ' (tek tırnak)
ile " (çift tırnak) arasında bazı farklardan bahsetmiştim, burada '
(tek tırnak) kullandığımız takdirde ekrana
$isim $soyad $yas yaşındadır şeklinde bir çıktı gelecektir, haliyle değişkenlerimizin değerleri ekrana basılmamış olacaktır.
Değişken tanımlamalarını yaparken değişken tanımlarken bir değişken ismini de kullanabiliriz..
PHP Kodu:
<?
$olay
=
"ders"
;
$
$olay
=
"Matematik"
;
echo(
$ders
);
?>
Bu
kod ekrana Matematik yazdıracaktır. $olay değişkeninde ders tanımlı
olduğu için tekrar $ koyduğumuz zaman $ders diye bir değişken olacaktır
ve atamamız ona yapılacaktır.
Değişkenleri ilk başlarda en çok
formlarımızda kullanacağız. Bu nedenle formlardan nasıl veri
alacağımızı da öğrenmemiz gerekiyor. Form'dan veri gönderme metodumuz
POST ise $_POST["deger"] şeklinde alabiliriz, GET metodu ile
gönderildiyse $_GET["deger"] seklinde veriyi alabiliriz.
Öncelikle bir HTML dosyası oluşturup içerisine de formumuzu hazırlayalım, ismini form.html olarak kaydedebiliriz.
Daha sonra bir php dosyası ile bunu okuyup ekrana basalım. Dosyamızın adı
action'da belirttiğimiz isim olmalıdır, çünkü verilerimiz orada yazan dosyaya gönderilmektedir.
form.php
PHP Kodu:
<?
echo(
"İsminiz : "
.
$_GET
[
"isim"
].
"
"
);
echo(
"Soyadınız : "
.
$_GET
[
"soyad"
].
"
"
);
?>
Ekran çıktısı :
İsminiz :
Girdiğiniz isim
Soyadınız :
Girdiğiniz soyad
şeklinde olacaktır. Metod olarak POST kullanmış olsaydık, dosyamız aşağıdaki şekilde olacaktı.
form.php
PHP Kodu:
<?
echo(
"İsminiz : "
.
$_POST
[
"isim"
].
"
"
);
echo(
"Soyadınız : "
.
$_POST
[
"soyad"
].
"
"
);
?>
Birde yukarıda bahsettiğim PHP'nin kendi kullandığı standart fonksiyonlar vardır. Bunlara
genel tanımlı değişkenler (environment variables) denilmektedir.
Genel Tanımlı Değişkenler (Environment Variables) :
$_GET veya
$HTTP_GET_VARS Form'dan GET metodu ile gönderilen veriyi alır
$_POST veya
$HTTP_POST_VARS Form'dan POST metodu ile gönderilen veriyi alır
$HTTP_USER_AGENT Ziyaretçinin tarayıcı (browser) bilgisini verir
$REMOTE_ADDR Ziyaretçinin IP adresini verir
$REQUEST_URI Çalışmakta olan PHP dosyasının adını varsa GET metodu ile gönderilmiş değerleri verir
$SCRIPT_FILENAME Çalışmakta olduğumuz PHP dosyasının ismini verir
$SCRIPT_URI Çalışmak olduğumuz dosyanın tam adresini verir
$SERVER_ADDR Sunucunun IP adresini verir
$PHP_SELF Çalışmakta olduğumuz dosyayı ve dizini verir..
Başka genel tanımlı değişkenlerde vardır bunları da kolayca internette
bulabilirsiniz, fakat ilk başta bunlar yeterli olacaklardır.. Bunları
normal değişkenler gibi kullanabiliriz.
PHP Kodu:
<?
echo(
"Hoşgeldiniz.. IP Adresiniz : $REMOTE_ADDR"
);
?>
Bu ekrana
Hoşgeldiniz.. IP Adresiniz: 1.2.3.4 şeklinde bir sonuç basacaktır.
Sabitler
Değişkenler dışında sabitlerde tanımlayabiliriz, bunlar kodumuz
içerisinden değiştiremediğimiz ve değiştirmeyeceğimiz değerlerdir..
define() fonksiyonu ile tanımlanmaktadır. Klasik örnek olarak PI sayısı verilmektedir, bende klasiği bozmayıp o örneği veriyorum.
PHP Kodu:
<?
define
(
"PI"
,
"3.14"
);
echo(
PI
);
?>
Ekrana
3.14 basılacaktır ve istediğimiz yerde PI değerini kullanabiliriz,
birçok PHP yazılımında dil dosyaları bu tarz sabitlerle
tanımlanmaktadır.
Kısaca değişkenler bu kadar, global değişkenleri
ileriki konularda anlatacağım. Matematiksel işlemleri anlattıktan sonra
değişkenlerle ilgili fonksiyonları da anlatacağım..
Bu fonksiyonları önceden gözatmak isterseniz..
settype()
gettype()
isset()
unset()
empty()
is_string()
is_integer()
is_double()
intval()
doubleval()
doubleval()