Php de if deyimi

Ceviz Viki, özgür ansiklopedi

Git ve: kullan, ara

Web Programcılığının en önemli konularından bir tanesi mantıksal denetlemelerdir.Mantıksal denetleme de,programa verilen şart koşulunda programın sonucuna ihtiva edecek sonuçları ekrana basma yöntemi kullanılır.Mantıksal denetleme de kullanılan if deyimi belki de programcılık hayatınız boyunca karşınıza çıkabilecek en önemli mantıksal denetlemelerden bir tanesidir.Ben bu sayfada size if deyiminin kullanıldığı alanları,ne işe yaradığını ve sonuç olarak if ile ilgili ekrana basılan şarta bağlı nesneleri göstermeye çalışacağım.

Bildiğiniz gibi ,if ingilizce bir terimdir ve karşılığı türkçe de ;eğer anlamına gelir.Programın mantığı şöyle işler; eğer verdiğim koşul gerçekleşirse ekrana şunları bas,else komutunu bundan sonra ki sayfamızda anlatacağımızdan; şimdilik else meselesine girmek istemiyorum.Dolayısıyla her terimi açıklamalarıyla rahatça ve bol örnekli çözersek,sizin için o kadar faydalı bir çalışma olur kanaatindeyim.İf deyimi yada diğer komutlarda PHP de,benzer olarak C++ programlarında ki işlevlerine benzer,Php C++ diline çok benzemektedir.Belki bir çok komutu C dilinden almıştır.O yüzden C dilini bilenler,PHP yi öğrenmekte hiç zorlanmayacaklardır.Hocam yani C dilini bilmiyorsak öğrenemeyiz mi dediğinizi duyar gibiyim,hayır asla öyle bir şey yok.Tabi ki C dilini bilmeyenlerde öğrenecektir.Hemde çok kolay bir şekilde.Ancak C dilini bilenler daha kısa zamanda öğreneceklerdir.Geç olsunda güç olmasın değil mi? tabii ki ...:)))

Biz yine konumuza geri dönecek olursak; if deyimi yavaş yavaş kafanızda şekillenmeye başlamıştır tahmin ettiğim kadarıyla; programın işleyiş tarzını teorik olarak formüle edecek olursak if deyimi komutsal olarak şöyle işler arkadaşlar;

<?
 
if (programa koşul sunulur) {
 
echo "buraya koşula göre ekrana basılacak sonuçlar yazılır";
 
}
 
?>

Evet yukarıda ki tabloda gördüğünüz gibi,if kelimesinden sonra bir parantez açılır ve programa şart koşulur,daha sonra parantez kapatılarak süslü parantez ile ekrana koşula göre basılacak sonuçlar yazılır,daha sonrada süslü parantez kapatılır.Gayet basit bir işleyiş tarzı var,temelinden iyi öğrenirseniz,ileri de zorlu program yazımlarında zorluk çekmezsiniz.Şimdi olayı net kavramak babında,somut bir örnek yaparak ekrana koşula göre sonuçlar bastıralım.Alttaki kodu if_01.php olarak kaydedin.

<?
 
if (10>9) {
 
echo "10,9'dan büyüktür";
 
}
 
?>

bu komut karşınıza 10,9'dan büyüktür sonucunu ekrana basacaktır.Peki ne yaptık ilk önce?;;; if deyimiyle programa şart koştuk ve bu şartımız 10 rakamının 9 rakamından büyük olup olmadığını sınadık.Sunucu bu koşulu kendi içinde denetleyip,doğru olup olmadığını öğrendikten sonra echo komutuyla ilk sonucu ekrana basacaktır.Bu yüzden verdiğimiz şart ya bizim değişken tabrimizle ifade edilir yada programın mantıksal olarak denetlemesinden geçirilir.Dolayısıyla burada rakam sunarak,Programın koşulu denetlemesini sağladık.Daha sonra derleyiciden dönen sonuc doğru ise; komutun ilk sonucu ekrana basılır.Peki neden ilk sonucu diyoruz,Şimdilik if deyimini öğrendiğimiz için kafanız karışmasın,bir sonraki sayfada,else komutuyla ,programdan dönen sonuç False yani Yanlış olarak dönerse,o zaman ilk olarak yazdığımız echo komutu devreye girmez,Program o şartta else komutunu arayacaktır.Şimdilik bu konuyu detayıyla yazmıyorum.if deyimini ilk önce iyiden iyiye öğrenelim,her şeyin sırası gelince onlarıda öğreniriz.

İf deyimiyle programa tek koşul yazmak zorunda değiliz,koşulları yan yana sıralayabilirizde,ve bu komutlardan çıkan sonuçlara göre ekrana sonuc nesneler yazdırılabilir.Ancak burada koşullar arasında virgül kullanmak yerine or (veya) ,|| (veya) && (ve) gibi parametreler kullanılır.Somut olarak örnekte öğrenmek babında altta ki kodu if_02.php olarak kaydedin.

<?
 
if (15==12 or 4<8) {
 
echo "bu komutlardan bir tanesi doğrudur";
 
}
 
?>

Bu tablodaki komutta ise ; programa or ifadesiyle yan yana iki koşul sunulur,ve ekrana basılcak komutta ise,sonuçlara göre baskı nesnesi yazılır.Burda dikkat edilmesi gereken husus eşitlik komutunu yan yana iki eşitlik halinde yazdık.Ama hocam bunları göstermedin bize dersen; o zaman aşağıda bu terimlerle ilgili bir tablo var oradan parametreleri iyice öğrenebilirsiniz.


== "eşitse

!= "eşit değilse"

=== "aynı ise"

> "büyükse"

< "küçükse"

<= "küçük eşittir"

>= "büyük eşittir"

&& "ve" and "ve"

or "veya"

|| "veya"

Temel karşılaştırma işlemcileri böyle arkadaşlar.Cok kısa süre içinde ezberleyeceğinizden eminim.O yüzden zaten PHP de mantıksal olarak kabul edilemeyecek bir karakter yoktur.eğer var gibi görüyorsanız bazen,mutlaka bir şeyleri eksik görmüşsünüzdür demektir.

Bir üst tabloda programa iki şart sunmuştuk ve or karşılaştırma istemcisiyle bu koşulları aradık.Peki burada ve deyimini kullansaydık o zaman ne olurdu sorusuna cevap ise; ekrana basılan sonuç,boş bir sayfadır arkadaşlar.Neden derseniz.çünkü koşul nesnesinin ilk koşulu sunucudan yanlış olarak geri dönecektir,dolayısıyla else komutunu arayacaktır.ancak else komutu olmadığı için program boş bir sayfayı ekrana basacaktır.ancak or komutuyla iki koşulu da program sunucuda deniyor ve en az biri doğru olarak derlenirse,else komutunu aramayıcaktır..Bununla ilgili bir örnek aşağıda; kodu if_03.php olarak kaydedin.

<?
 
if (4>2 && 3<5) {
 
echo "4,2 den büyüktür ve 3 ,5 ten küçüktür";
 
}
 
?>

Bu komutta ve karşılaştırma istemcisiyle yan yana iki koşul sunduk ancak sonuç kısmına da yan yana bu koşulların sonuçlarına göre sonuç nesneleri yazdık,bu sonuc nesnelerini değiştirmeden sadece koşul nesnelerinden ilkinin büyük işaretini küçük yapın ve sunucudan çağırın bakalım karşınıza ne gelecek; BOMBOŞ BİR SAYFA GELECEKTİR.çünkü anlattığımız gibi, ilk koşul nesnesi sunucudan false olarak geri dönecektir ve sunucu else yi arayacaktır.Tabi bu sadece "ve" karşılastırma istemcisi için aynı, "or " karşılaştırma istemcisi için ise durum koşulların tümü için denenir ve en az biri true olarak geri dönerse sunucu elseyi aramıyacak ve yazdığınız ilk sonuc nesnesi ekrana basılacaktır.

İF deyiminin PHP de ki işleyiş tarzı böyle arkadaşlar,sizde kendi kendinize if ile ilgili bir çok şart sunup ekrana böylelikle sonuç nesneleri yaza bilirsiniz.Demin söylediğimiz ayrıntıyı tekrar bir açıklayacak olursak, "or" karşılaştırmasıyla yan yana yazılan koşullar sunucuda en az biri true sonucu geleseye kadar tekrarlanır,ve en az biri true olarak dönerse,sonuç nesnesine ne yazarsanız yazın ekrana basılır.Ancak "ve" karşılaştırmasıyla koşullar yazarsanız,ilk koşul derleyiciden false olarak geri dönerse ,ekrana yazdığınız sonuç nesnesi basılamaya bilir,bu yüzden sonuc nesnesine "ve" karşılaştırmasıyla yazdığınız vakitte,iki ayrı koşula göre sonuç nesnesi belirlemeniz gerekecektir.Tabloları iyice okuyup,deneme yanılma yöntemiyle ne dediğimizi daha iyi anlayacaksınız.Bol if li örnek yaparsanız,konuyu kavrarsınız.

Değişkenleri de if deyimiyle beraber yazmak mümkün arkadaşlar,örneğin aşağıda ki kodu if_04.php olarak kaydedin dizinize;

<?
 
$kelime1="webmaster";
 
$kelime2="aligurbuz";
 
 
 
if ($kelime1!="$kelime2") {
 
echo "bu iki değişken eşit değildir";
 
}
 
?>

Burada da değişkenleri tanımladık ilk önce ve daha sonra da if deyimi kullanarak bu iki değişkenin eşit olmadığı durumunda sonuc nesnesini ekrana basılmasını komutladık.görüldüğü gibi gayet basit bir kullanımı var.Peki eşitliğin önünde ki ! (ünlem) işaretini kaldırsaydık yani iki eşitlik halinde yazsaydık,bu sefer program else komutunu arayacaktır.Değişkenleri de böylelikle if deyimiyle beraber öğrenmiş olduk.