if, elseif ve else kullanimi
PHP ile daha önce değişken tanımlamayı öğrenmiştik. Şimdi, bir programda if elseif gibi koşulların kullanılarak nasıl mantıklı denetleme yapılacağını öğreneceğiz.
Mantıksal denetleme nerelerde kullanılır? Örneğin bir kayıt formu, giriş formu, iletişim paneli vs gibi bir çok yerde oldukça sık kullanılır.
En basit mantıkla, mantıksal denetlemeyi şöyle tarif edebiliriz.
if( koşul veya koşullar )
{
Bu koşul veya koşullar doğru ise yapılacak olan işlemler.
}
else
{
Koşullar doğru değilse yapılacak olan işlemler.
}
Örnek olarak şöyle bir dosya hazırlayalım.
< ?PHP
$sayi = 95;
if($sayi > 42) //Eger sayi 42'den buyukse, hemen alt satirdaki islemleri gerceklestir.
{
echo "$sayi, 42'den büyüktür.";
}
else //Eger kosul saglanamiyorsa, hemen alt satirdaki islemleri gerceklestir.
{
echo "$sayi, belirtilen koşuldaki sayıdan büyük değildir.";
}
?>
Yukaridaki dosyayı deneme.php olarak kaydedip, tarayıcımızda çalıştırdığımız zaman; 95, 42′den büyüktür. çıktısını göreceğiz. Eğer, kod bloğundaki 42 rakamını 95ten daha büyük bir rakam yaparsanız bu sefer bir alt komut satırın çalıştığını farkedeceksiniz. Yukarıdaki mantıksal denetleme kodumuzda tek bir koşul belirttik, birden fazla koşul belirtmek and veya or bağlaçlarıyla olabilir.
Birden fazla koşul belirtme örneğimizi de hemen hazırlayalım.
< ?PHP
$sayi = 95;
if( ($sayi > 90) and ($sayi > 80) ) //Eger sayi 90'dan ve 80'den buyukse
{
echo "$sayi yukardaki koşullarda belirtilen her iki sayidan da büyüktür.";
}
else
{
echo "Koşullardan birisi veya ikisi de sağlanamamıştır.";
}
?>
Yukardaki kod bloğumuzu çalıştırdığımızda, if koşullarının sağlandığı için ilk satır kodun çalıştığını göreceğiz. Gördüğünüz gibi iki şartı, ‘ve’ anlamına gelen ‘and’ ile birleştirdik, ‘and’ yerine, ‘&&’ şeklinde de kullanabilirdik, bu da aynı anlama gelirdi.
Yukarıda yazılmış örneği, veya kalıbına, yani ‘or’ kullanarak bir koşul yazmayı siz deneyebilirsiniz. Bilginizi pekiştirmiş olursunuz. or yerine || şeklinde de kullanabilirsiniz, bu da aynı anlama gelmektedir.
Son olarak da elseif deyimine değinelim. Onun da yazım mantığı alttaki gibidir.
if( koşul veya koşullar )
{
koşul veya koşullar doğru ise yapılacak işlemler.
}
elseif( diğer koşul veya koşullar )
{
bu koşulların doğru olması durumunda yapılacak işlemler.
}
else
{
yukardaki koşulların hiçbirinin doğru olmaması halinde yapılacak işlemler.
}
PHP’de karşılaştırma denetlemesinde kullanılan işlemciler ve anlamlarından bazıları şöyledir.
== : eşitse
=== : aynı ise
!= : eşit değilse
< : küçükse
> : büyükse
< = : küçük veya eşitse
>= : büyük veya eşitse








20 Yorum
murat
11.17.2009
süper açıklama olmuş teşekkür ederim.
Yunus
11.20.2009
Gerçekten Güzel Bir Site Konu Anlatımlarına Diyecek Birşey Yok Zaten..Mükemmel
Ahmet
11.26.2009
Çok Güsel Bir Anlatım Teşekkür Ederim.
Muhammed
11.27.2009
teşekkürler…çok güzel açıklama olmuş…ellerinize sağlık…
wusii
12.07.2009
örnekteki sayı 90 ve 80 arasında ise ne olacak?mesela 85?
KaLpSiZz
12.11.2009
yaf saoLun ßenCede qüseL Bi acıqLama oLmus ama ben nıe Anlamıorm YHaa coq Zor qeLıo ßana Pff :S:S
divx film izle
01.02.2010
teşekkürler çok sade ve net olmuş
TDK
01.11.2010
KaLpSiZz rumuzlu arkadaşa ..
Arkadaşım sen dengesizmisin?
Bu nasıl bir konuşma tarzıdır? Tabiki tarz denilirise buna ..
Bu nasıl bir düşünce ne saçma bir eylem ..Sen Türkçe’ne sahip çıkmazsan Türkiye’ne sahip çıkmazsan en başta sen , Atatürk’ün geleceği emanet etti bir Türk Genci sahip cıkmazsa halimiz cok vahim ..
Nyph
01.13.2010
KalpsiZz ‘ e:
php’den önce belki de temel algoritma yazılımlarına kısaca göz atmanız faydalı olabilir. Burada yapılan işlemin özü o çünkü.
dasha
01.16.2010
KalpsiZz rumuzlu arkadaşımıza;
aslında anlamaman gayet normal bence çünkü bu sitedeki dil ile senin kullandığın dil aynı değil bu siteden php yi öğrenebilmen için öncelikle TÜRKÇE’yi öğrenmen gerekir.
Programmer
01.06.2011
KalpsiZz rumuzlu arkadaşımıza;
Senin yazmış olduğun dildende ben anlamadım nedense türkçemizi yozlaştıran sen ve senin gibi kişileri gördükçe düşünüyorumda [Atalarımız] bu Ülkeyi Sizleremi Bıraktı Bu Konuda Özen Gösteren Programcı Arkadaşlarada Teşekkür Ederim
Betül
02.25.2010
ben PSPad de yapıyorum php’yi ama kodlar çalışmıyor,ekrena acayip acayip yazılar çıkıyor.Yardımcı olursanız sevinirim..
baris
04.26.2010
KaLpSiZz rumuzlu arkadaşa ..
“yaf saoLun ßenCede qüseL Bi acıqLama oLmus ama ben nıe Anlamıorm YHaa coq Zor qeLıo ßana Pff :S:S”
Nedense bende senin söylediklerini anlayamadım. Zaten bende case sensitive olayı var. Büyük küçük harfler yanyana geldiğinde döngüyü algılayamıyorum
Uğur Ali Kaplan
08.06.2010
Hocam, acaba elseif ile if arasında ne fark vardır? Elseif nerede kullanılır, nerede kullanılmaz? Ben bunu tam anlayamadım. Açıklarsanız sevinirim.
Enes AKBULUT
10.06.2010
if sadece tek koşulda çalışıyor. fakat elseif eğer koşul sağlanmadıysa başka bir koşulla işlemi devam ettirebilmek için kullanıyor.
kemal
11.01.2010
if($odemesekli == kredi-karti)
{print”
alert(‘Sayın $isim siparişiniz iletilmiştir! Bir sonraki sayfada Kredi kartınızla yapacağınız ödemeniz kontrol edilerek $adres /$sehir / $postakodu Adresine siparişiniz kargolanacaktır. En Yakın Zamanda Size Ulaşacağız. Teşekkürler.’);
window.location.href= ‘http://www.siteadi.com/xxx.php’;
“;
}
elseif($odemesekli != kredi-karti)
{
print”
alert(‘Sayın $isim siparişiniz iletilmiştir! Bir sonraki sayfadaki Banka Hesap Numaralarına ödemeniz kontrol edilerek $adres /$sehir / $postakodu Adresine siparişiniz kargolanacaktır. En Yakın Zamanda Size Ulaşacağız. Teşekkürler.’);
window.location.href= ‘http://www.siteadi.com/xxx.php’;
“;
}
Hocam bu kod çalışmıyor nerede hata olabilir?
phpdili
11.01.2010
Kod genelinde yazım yanlışları bulunuyor. Aşağıda yer alan haliyle çalışması gerekir;
if($odemesekli == 'kredi-karti') { echo " alert('Sayın $isim siparişiniz iletilmiştir! Bir sonraki sayfada Kredi kartınızla yapacağınız ödemeniz kontrol edilerek $adres /$sehir / $postakodu Adresine siparişiniz kargolanacaktır. En Yakın Zamanda Size Ulaşacağız. Teşekkürler.'); window.location.href= 'http://www.siteadi.com/xxx.php'; "; } elseif($odemesekli != 'kredi-karti') { echo " alert('Sayın $isim siparişiniz iletilmiştir! Bir sonraki sayfadaki Banka Hesap Numaralarına ödemeniz kontrol edilerek $adres /$sehir / $postakodu Adresine siparişiniz kargolanacaktır. En Yakın Zamanda Size Ulaşacağız. Teşekkürler.'); window.location.href= 'http://www.siteadi.com/xxx.php'; "; }erdalTes
11.24.2010
2. şart niyeki zaten başka bi seçenek yoksa koşul gerekmez
yerine sadece
yapman yeterli.
Sinan
02.16.2013
Merhaba bu konu ile ilgili bir sorum olacaktı.Acaba if kullanımının fazla olması sunucuyu/hostingi çok fazla kasar mı zararı varmıdır?
Muhammed
03.30.2013
Güzel açıklama aMa ilk örnekte 2. örnekte parantez koymamışın hat averıyo duzeltırsın. k.gelsın
Sonuç bulunamadı.