PHP Eğitimi DERS 4

5 Derste PHP Eğitimi DERS 4

DeğişkenlerProgramcılıkta işlemlerimizi değişkenlerle yaparız. Değişkeni bir kap gibi düşünebilirsiniz. Sözgelimi "Gün," değişkenin adı ise bu değişkenin değeri Pazar, Pazartesi, Salı, vd., olabilir. Her değişken, türüne göre, ya bir ya da daha fazla değer tutar. Adından da anlaşılacağı gibi değişkenin değeri değişir! Bu değişikliği biz yapabiliriz; programın kendisi yapabilir.PHP"de de, bir çok başka bilgisayar programlama dilinde olduğu gibi değişkenlerin içine bir değer konmadan önce tanımlanması mümkündür; fakat gerekli değildir. Değişkenleri adının önüne $ işareti koyarak tanımlarız:$adi;$soyadi;$123;$sevdigiRenk;Değişkenler, harf, rakam veya alt çizgi (_) ile başlayabilirler; bu karakterleri içerebilirler; ama içinde boşluk veya diğer işaretler bulunamaz. PHP değişkenleri her türlü değişken tutabilirler: bir değişkenin adının yazılış şekli onun tutabileceği değerin niteliğini belirlemez. Dolayısıyla, "$adi" değişkenin değeri "Reşit" da olabilir, "1255" de olabilir.PHP"de genellikle değişkenleri değerini atayarak belirleriz:$adi = "Reşit";$soyadi = "Gülen";$123 = 123;$sevdigiRenk = "yeşil";Değişkenler, kullanıldıkları işleme, taşıdıkları değeri verirler:print $adi;komutu, eğer değeri "Reşit" ise "Browser penceresine "Reşit" kelimesini yazdırır.PHP"de özel bir değişkene değişken adı olarak kullanılacak değerleri de atayabiliriz:$adi = "Reşit";$degisken = "adi";print $$degisken;Burada Browser penceresine yine "Reşit" kelimesi yazılacaktır; çünkü PHP $degisken adlı değişkenin "adi" adlı değişkeni tuttuğunu bilecek ve iki Dolar işaretini görünce, $degisken"in değerini değil, onun tuttuğu değişkenin değerini yazacaktır. Bu, size şu anda karışık görünebilir. Daha sonra döngüleri gördüğümüzde bu tekniği bir satırlık kod ile yüzlerce değeri yazdırmakta kullanacağız. Bu teknik şöyle de kullanılabilir:$degisken = "adi";$$degisken = "Reşit";print "$adi";print $$degisken;print "${$degisken}";print "${"adi"}";Buradaki dört "print" komutu da Browser"a "Reşit" kelimesini yazdıracaktır.PHP"de bir değişkenin tuttuğu değer, bir başka değişkene atanabilir. Bu ya duragan, ya da dinamik olarak yapılır. Duragan yöntemde:$birinci_degisken = "Nurcan";$ikinci_degisken = $birinci_degisken;$birinci_degisken = "Tülay";print $ikinci_degisken;Buradaki "print" komutu Browser penceresine "Reşit" kelimesini yazdıracaktır. İki değişken arasındaki değer alış-verişi birinci değişkenin tuttuğu değeri değiştirmeden önce olduğu için, ikinci değişken birinci değişkenin ilk değerini almış oldu. Fakat kimi zaman iki değişken arasındaki değer alış-verişi sürekli (dinamik) olsun isteriz. PHP, buna, ilk atama sırasında & işareti kullanırsak izin verir:$birinci_degisken = "Nurcan";$ikinci_degisken = &$birinci_degisken;$birinci_degisken = "Tülay";print $ikinci_degisken;Buradaki "print" komutu ise Browser penceresine "Tülay" kelimesini yazdıracaktır. Çünkü iki değişken arasındaki değer alış-verişi birinci değişkenin tuttuğu değeri değiştirmeden önce halde, ikinci değişkene birinci değişkenin değerini dinamik olarak atamış olduk. Atama işlemi sırasında & işareti kullandığımız için, birinci değişkenin değeri değiştiğinde ikinci değişkenin de değeri değişecektir.Veri TürleriPHP, değişkenlere, tuttukları değere göre farklı bellek alanı tahsis eder; bu bakımdan verilerimizin türü etkin bir programcılık açısından önem taşır. Ayrıca PHP, diğer bütün programlama dilleri gibi belirli veri türleri ile belirli işlemleri yapar veya yapamaz. Örneğin, ancak iki sayı arasında aritmedik toplama yapılabilir. İki metin tutan değişken aritmetik olarak toplanamaz; ancak içerdikleri değerler ardarda eklenebilir. Ne var ki, PHP sizin aritmetik toplama mı, yoksa ardarda ekleme mi yapmak istediğinizi bilmek durumunda değildir. (PHP"ye "muazzam dil" dedik; içinde yapay zekâ var demedik!) Dolayısyla değerleri 5 ile 6 olan iki değişkeni topladığınız zaman ortaya 11 yerine 56 çıkarsa, kabahati PHP"de değil, değişkenlere veri atayan kişide (büyük bir ihtimalle kendinizde) aramalısınız.PHP açısından dünyada altı tür değer vardır:Tamsayı (Integer): 5,124, 9834 gibiÇift (Double): 3,567 gibiAlfanümerik (String): "Reşit" gibiMantıksal (Boolean): doğru (true)/yanlış (false) gibiNesne (Object)Dizi (Array)Bazı uzmanlara göre, gerçekte PHP"de mantıksal (boolean) değişken türü yoktur. B kanının sebebi, PHP"nin true (doğru) ya da false (yanlış) olarak atadığımız değerleri 1 ve boş/null değerlere çevirmesi, mantıksal olarak sorgulandığında 0 dışındaki tam ve ondalık değişkenleri TRUE, 0"ı FALSE sayması, ve boş alfanümerik değişkenleri FALSE, dolu alfanümerik değişkenleri ise TRUE olarak değerlendirmesidir. Ancak daha sonra gereceğimiz gibi PHP, Mantıksal/Boolean adında bir değişken değiştirme fonksiyonuna sahiptir ve bu tür değişkenlerin türü sorulduğunda "boolean" karşılığını verir.

Tür DeğiştirmeDeğişkenlere atadığımız değerlerinin türlerini genellikle biliriz; ama yüzlerce değişkenle uğraştığımız bir Web programında değişken türünü unutmak çok kolaydır. Kimi zaman da değişkenlere program yoluyla değer atarız; başka bir deyişle programımız bazı değişkenleri kendisi oluşturabilir, ve bunlara kendisi değer atayabilir. Bu tür program yoluyla atanan değerlerin de türünde kuşkuya kapıldığımız anlar olabilir. Bir değişkenin değerinin türü hakkında kuşkunuz varsa, en emin yol bunu PHP"nin kendisine sormaktır. Bu sorgulamayı gettype() fonksiyonu ile yaparız.FonksiyonPHP"nin gettype() ve print() gibi, kendi içinde bulunan kullanılmaya hazır bir çok fonksiyonu vardır. Daha sonra kendi fonksiyonlarımızı yazmanın yollarını da göreceğiz. Programcılık dilinde ister dile ait olsun, ister kendimiz yazmış olalım, bir fonksiyonu kullanmaya "fonksiyon çağırma" denir. Fonksiyonlar da fonksiyon çağırabilirler. Çağrılan bir fonksiyon ya kendisinden beklenen işi yapar, ya da kendisini çağıran işleme veya fonksiyonu bir değer sunar. Buna fonksiyondan dönen değer denir.Şimdi, bir PHP programı yazalım, bir takım değişkenlere değerler atayalım ve bunların türlerini PHP"ye soralım. Bir düzyazı programı ile şu metni yazın ve turler.php adıyla kaydedin:<HTML><HEAD><TITLE>PHP"de Degisken Turleri</TITLE><meta http-equiv="content-type" content="text/html; charset=ISO-8859-9"><meta http-equiv="Content-Type" content="text/html; charset=windows-1254"></HEAD><BODY><B><H2><?php$sayi = 5;print("Birinci değişkenin adı: $sayi<br>");print("Değeri : ");print "$sayi<br>";print("Türü : ");print gettype( $sayi ) ; //tamsayi/integerprint "<br>";print "<br>";$alfanumerik = "Reşit";print "İkinci değişkenin adı: $alfanumerik<br>";print "Değeri : ";print "$alfanumerik<br>";print("Türü : ");print gettype( $alfanumerik ) ; //alfanümerik/stringprint "<br>";print "<br>";$ondalik = 5.1234;print "Üçüncü değişkenin adı: $ondalik<br>";print "Değeri : ";print "$ondalik<br>";print("Türü : ");print gettype( $ondalik ) ; //çift,ondalık/doubleprint "<br>";print "<br>";$mantiksal = true;print "Üçüncü değişkenin adı: $mantiksal<br>";print "Değeri : ";print "$mantiksal<br>";print("Türü : ");print gettype( $mantiksal ) ; //mantıksal/booleanprint "<br>";print "<br>";?></H2></B></BODY></HTML>Bu programı çalıştığımızda karşımıza şöyle bir görüntünün gelmesi gerekir:Burada mantıksal (boolean) değer olarak doğru anlamına true değeri atadığımız halde, PHP"nin bu değişkenin değeri olarak 1"i gösterdiğine dikkat edin. PHP"de bir fonksiyon, elde ettiği değer doğru ise sonuç olarak 1 değerini verir. (Yanlış/false değerinin neye çevrildiğini bulabilir misiniz?)

Döküman Arama

Başlık :

Kapat