Ana içeriğe atla

PHP de If Else Yapisinin Kullanimi - Karsilastirma Operatörleri

Merhaba arkadaslar. Php dersleri serimizin ikincincisinde php'de karar mekanismasi olan if else komutlarinin nasil kullanildigina göz atacagiz.
Php sintaks bakimindan java'ya benziyor; noktali virgüller, parantezler... Eger java ile biraz hasir nesir iseniz bu konuyu 20 dakikada hâlledersiniz.
Lafi fazla uzatmadan hemen bir örnekle konumuzu anlatmaya baslayalim isterseniz. Iki kisinin yaslarini kiyaslayan bir kod yazalim:
<?php
$ahmet = 20;
$sabri = 30;

if ($ahmet<$sabri)
{
echo "Ahmet Sabri'den küçüktür";
}

else
{
echo "Ahmet Sabri'den büyüktür";
}
?>

Sonuç : Ahmet Sabri'den küçüktür

elseif

Peki bu ikisi yasitsa, yani $ahmet = 20 ve $sabri = 20 ise ne olacak? O zaman bu durumu da gözden geçirmemiz lazim. Bunun için if komutundan sonra bir de elseif kullanacagiz:

<?php

$ahmet = 20;
$sabri = 20;

if ($ahmet<$sabri)
{
echo "Ahmet Sabri'den küçüktür";
}

elseif($ahmet==$sabri)
{
echo "Ahmet ve Sabri yasittir";
}
else
{
echo "Ahmet Sabri'den büyüktür";
}
?>

Sonuç : Ahmet ve Sabri yasittir.
elseif($ahmet==$sabri) satirina dikkat ederseniz bir yerine iki esttir (==) isareti koyduk. Çünkü eger bir esittir kullansaydik karsilastirma yapmis olmaz, esittirden önceki ilk degiskene ($ahmet) deger atamis olurduk. Bu da hâtâ verecektir tabi ki.
Bunu su sekilde test edelim:
<?php

$ahmet = 20;
$sabri = 30;

$ahmet = $sabri;
if ($ahmet<$sabri)
{
echo "Ahmet Sabri'den küçüktür";
}

elseif($ahmet==$sabri)
{
echo "Ahmet ve Sabri yasittir";
}
else
{
echo "Ahmet Sabri'den büyüktür";
}
?>

Sonuç : Ahmet ve Sabri yasittir, olacaktir.
Bir de farkli midir? diye soralim. Bunun için != veya <> operatörünü kullanacagiz:
<?php

$ahmet = 20;
$sabri = 30;

if ($ahmet!=$sabri)
{
echo "Ahmet ile Sabri yasit degildir";
}
?>

Sonuç: Ahmet ile Sabri yasit degildir.
Son olarak bir de söyle iki örnek verelim, ki bu iki kod da ayni isi yapar, == operatörü ile:
<?php

$sifre = "yazilimmutfagi.com" ;

if ($sifre == "yazilimmutfagi.com")
{
echo "Sifre dogru";
}

else
{
echo "Yanlis sifre";
}
?>

!= veya <>operatörü ile:

<?php

$sifre = "yazilimmutfagi.com" ;

if ($sifre <> "yazilimmutfagi.com")
{
echo "Sifre yanlis";
}

else
{
echo "Sifre dogru";
}
?>

&& , || (ve veya) mantiksal operatörler:

Karsilastirma yaparken çokça ihtiyacimiz olan operatörlerdendir 've'(&&) ve 'veya'(||).

&& operatörünün mantigi kisaca sudur:

Sayet sorulan her iki sart da dogruysa sonuç 'evet'tir. Herhangi biri yanlissa sonuç 'hayir'dir.
<?php

$sifre1="yazilimmutfagi";
$sifre2=2011;

if($sifre1=="yazilimmutfagi" && $sifre2==2011)
{
echo "sifreler dogru, giris yapildi";
}
else
{
echo "sifreler dogru degil, giris yapilamadi";
}

?>

Sonuç: sifreler dogru, giris yapildi.
|| operatörünün mantigi, eger sorulan sartlardan herhangi bir dogru ise sonuç 'evet'tir. Her ikisi de yanlissa sonuç 'hayir'dir.
<?php

$sifre1="yazilimmutfagi";
$sifre2=2011;

if($sifre1=="yazilimmutfagi" || $sifre2==2045)
{
echo "giris yapildi";
}
else
{
echo "iki sifre de yanlis, giris yapilamadi";
}

?>

Yorumlar

Bu blogdaki popüler yayınlar

Linux En Az Sistem Gereksinimi İsteyen Dağıtımları Değerlendirilmesi

Linux İşletim Sisteminin Dağıtımlarının En az sistem gereksinimi isteyen sürümleri, değerlendirilmesi aşağıdadır, Değerlendirilen dağıtımlar şunlardır: Ubuntu Xubuntu Lubuntu Damn Small Linux Linux Mint Fedora Opensuse Debian Rat Hat Suse Linux Suse Linux Sistem Gereksinimleri: Pentium 1-4 ya da Xeon; AMD Duron, Athlon (XP, MP ya da 64), Sempron ya da Opteron 256MB RAM 500MB boş disk alanı 800x600 yada üstü resolution Rat Hat Memory Gerekli: 4 GB of memory Önerilen: 8 GB of memory CPU Gerekli: Intel Core processor, 2.4GHz, 512K cache or equivalent Önerilen: Intel multi-core processor, 2.4GHz dual processor, 512K cache or equivalent Storage 5 GB alan temel kurulum için. 40 GB alan Channel başına. 10 GB alan Cache dizini için(/var/cache/rhn) Disk yapılandırması olarak Raid 5 tavsiye edilir. Database İlk kurulum için 12 GB alan önerilir. Client ve channel hesaplamaları ise, 250 KB alan client system başına, 500 KB alan çhannel başına, ayrıca 230 KB channel da...

(C#) Ders 2 - Degisken Tipleri, Degisken Tanimlama ve Operatörler

C# Hakkinda Temel Bilgiler Bu dersimizde C# dili hakkinda temel bilgiler ögrenecegiz. Biraz açarsak bu dersimizde veri tipleri, degiskenler ve operatörleri nasil kullanacagimizla ilgili bilgiler verecegiz. Temel Veri Tipleri ve CTS(Common Type System) Karsiliklari C# da iki çesit veri tipi vardir: Deger Tipleri (Value type) Referans Tipleri(Reference Type) Degiskenler bellekte bulunan verilerdir. Bir degiskeni kullandigimiz zaman o degiskenin bellekte bulundu yerdeki bilgiyi kullaniriz. Deger tipleri veriyi direk olarak bellek bölgesinden alirken referans tipleri baska bir nesneye referans gösterirler. Yani referans tipleri içinde veri degil adres bilgisi tutarlar. Veri tipleri stack dedigimiz bellek bölgesinde tutulurlar, referans tipleri ise heap bellek bölgesinde saklanirlar. int, double, float gibi veri tipleri deger tiplerine örnek gösterilebilir. Herhangi bir sinif türü ise referans tipine örnek gösterilebilir. Deger tipleri birbirine esitlenirken degiskenin ba...

JAVA'da if - else kosul yapisi

Programlama deyince degiskenlerden sonra akla ilk gelen  if-else  bloklaridir. Programimizi  if-else  kosul yapisi ile yönlendiririz. Velhasil bu yapiyi iyi bilmeden olmaz. Bütün programlama dillerinde mantik aynidir; fakat sözdiziminde ( syntax ) ufak farklar mevcuttur. Java'da  if-else  kosul yapisi genel olarak su sekildedir:   if  ( boolean ) true  ise else false  ise   Görüldügü üzere denetim  boolean  ifade üzerine kurulu.  Boolean  bir ifade iki degerden birini alir:  true  ya da false.  Deger  true  ise sunu yap, degilse bunu yap. Burada dikkat edilmesi gereken en önemli sey  boolean  bir ifade kullanmak. Örneklere geçmeden önce, hayati önem tasiyan karsilastirma ifadelerine kisaca deginmek istiyorum. <, <=, >, >=, == (esitse), =! (esit degilse)   Örnek: int sayi=5; if (sayi==5) System.out.println("sayi=5");   Simd...