Php nin yapıtaşı değişkenler
Ceviz Viki sitesinden
Aslında buraya kadar gördüklerimiz,temel komutlardır,bunları html bilen herkes kolaylıkla öğrenebilir,yada bir başka deyişle,html komutlarına olan benzerliği ile html bilenler tarafından cabuk kavranması daha olası bir ihtimal diyebiliriz.Ancak biliyorsunuz HTML ile basit siteler yapabiliriz,dinamik,ziyaretçiden bilgi alabilecek etkileşimli sayfaları HTML ile yapmak mümkün değil,bundan dolayı PHP 'nin HTML den ayrılan özellikleri bu konumuzdan itibaren başlamaktadır.Biraz matematiksel beyninizi çalıştırırsanız,olayı tam manasıyla kavrayacağınızdan kesinlikle eminim.
Php'nin yapıtaşları olan değişkenler,hemen hemen ileriki konularımızda resmen karşımıza çıkan,en önemli araçlar diyebiliriz,şöyle örnek vermek gerekirse,değişkenleri kavramak için,düşünebildiğimiz bir kutu gelsin aklımıza,bu kutunun içine girenler her zaman sabit değildir,dolayısıyla kutu bir değişken içerik sağlar diyebiliriz.Yada şöyle diye biliriz,bir taksinin içine giren müşteriler değişkendir.ve taksi içine giren müşterileri taşır.Olayı aslında yazılım üzerinde kavramak daha mantıklı olacaktır ancak,dediğimiz gibi değişken tabiri,sayısal yada sözel manada,girdi çıktıların farklı olmasından kaynaklana biliyor demek doğru bir mantık olacaktır.
Php'de değişken işareti ($) ---dolar simgesi ---- ifadesinden yararlanırız.$ bu işaretin olduğu yerde biliniz ki değişkenlik vardır.Bir örnek vermek gerekirse;$sayi="5" bu bir değişkendir arkadaşlar ve 5 sayısını sayı değişkeninin içine depolamamız demektir.değişkenleri kutuya benzetebiliriz,elimizde mevcut olan değerleri bu kutunun içinde depolamaya PHP de değişken alma denir.Somut bir örnek vererek olayı kavrayalım;alttaki kodu degisken01.php olarak kaydedin.
<?
$sehir="balıkesir";
echo "hasan basri çantay ses gazetesini $sehir sehrinde kurmuştur";
?>
Burada balıkesir değişkenini sehir kutusuna (yani değişkene) attık,ve echo baskı komutuyla kutuyu (yani değişkeni) ekrana bastırdık.Dolayısıyla sunucu kutunun (yani şehir değişkeninin) içindekine bakar.Dolayısıyla değişkenin içinde ne varsa aynen ekrana basar.Yani ekranda hasan basri çantay ses gazetesini balıkesir şehrinde kurmuştur ifadesini göreceksiniz. Burda dikkat edilmesi gereken nokta değişkeni tanımlayıp,bitim komutunda noktalı virgül kullandık,eğer değişkenlerin bitiminde bunu kullanmazsanız,program hata verecektir.Bir örnek daha yapalım daha iyi anlayacaksınız;alttaki kodu degisken02.php olarak kaydedin.
<?
$isim="webmaster";
$deger="isim";
echo $$deger;
?>
Şimdi buraya bir bakalım arkadaşlar,matematiksel olarak denklem eşitlikleri vardır burada, ilk önce webmaster 'i isim değişkenine koyduk,daha sonra isim 'i deger degiskenine koyduk,şimdi echo ile ekrana basılan yazıya dikkat edin; $deger="isim" değilmi? Dolayısıyla oradaki 2 dolar simgesi sizi şaşırtmasın...! $deger="isim" olduguna göre o halde $$deger; $isim demek değil midir ? evet tabi ki öyle,o halde ekranda $isim değişkenine depolanan,webmaster yazacaktır,Burda önemli bir mevzu gördüğünüz gibi,echo komutundan sonra çift tırnak kullanmadık eğer çift tırnak kullansaydık ekranda $isim yazacaktı yani webmaster yazmayacaktı.çünkü çift tırnak içinde sadece $degeri bulup ekrana onu basacaktı yani $isim değerini,ama çift tırnağı kaldırırsak,değişken tanımlanasaya kadar değişkenlerde sabit değeri ekrana basacaktır.Bu örnekleri çoğaltmak mümkün,bu işte yeni olanlar kesinlikle bol örnek çözmelidirler.alttaki koddaki değişkenleri siz bulun;
<?
$isim="x";
$x="y";
//ekrana 0 (sıfır) sayısını bastırmak için "k" yerine ne gelmelidir
echo ($$isim-$k);
?>
İsterseniz bu değişken denklemini beraber çözelim;sizin de çözebileceğinizden kesinlikle eminim,ama olayı kavramak açısından düşünürsek,bu soruyu cevapsız bırakmak kanımca doğru olmaz; matematik bilenler hiç zorlanmayacaklardır,o yüzden PHP nin değişken denklemlerinde eşitliğinden yararlanacağız,yorum satırında size deniyor ki,ekrana 0 sayısını bastırmak için k yerine ne gelmelidir.yani echodan sonra ki $k değişkeninde ki k hangi değere eşittir bunu istiyor bizden...,ilk baştan zor gibi görünüyor ama eşitliklerden yararlanarak bakın soruyu nasıl çözücez görelim; şimdi ilk olarak $isim="x"; değişkenine iyi bakalım ,ve daha sonra altında ise $x="y"; değişkenine bakalım,bu iki değişkende benzer olan nedir sizce? tabi ki x ler değil mi o halde $x="y" değişkenini şöyle düzenliye bilir miyiz ? $$isim="y"; böyle düzenleye biliriz,o halde y yerine de isterseniz $x yazalım ne dersiniz; o halde son düzenleme $$isim="$x"; o halde bu iki denklik birbirine eşittir değil mi? gelin $x değişkenini $$isim değişkeninin yanına atalım,son denklik şöyle olur; $$isim-$x=0 o halde ekrana sıfır sayısını bastırmak için bu değişkeni ekrana yazmalıyız,echo komutundan sonra ise bize veriler verilmiş; $$isim-$k=$$isim-$x şeklinde olmalı ki ekranda 0 sayısını göre bilelim.o halde k harfi x 'dir.ekranda sıfır sayısını isterseniz kendi gözlerimizle görelim; alttaki kodu degisken03.php olarak kaydedin.
<?
$isim="x";
$x="y";
echo ($$isim-$x);
?>
Bu kodu çalıştırdığınızda karşınıza 0 sayısı çıkacaktır.Gördüğünüz gibi arkadaşlar değişkenler PHP de bu tür takılarla ifade ediliyor,ileriki konularımızda değişkenleri daha iyi anlayacaksınız,bundan kesinlikle eminim.bu şekilde kendinizi geliştirmeniz maksatlı,sizde değişik türde değişkenleri tanımlatıp ekrana istediğiniz türden yazıları yada ifadeleri basa bilirsiniz.en iyi öğrenme yolu;deneme yanılma metodudur.
Dikkat edilmesi gereken husus değişkenleri ekrana bastırırken,tek tırnak kullanmamanızdır.ya çift tırnak kullanın yada hiç kullanmayın,yukardaki örnekler gibi.