Php if, if-else, if-elseif-else İfadeleri ve Örnekleri

Yazılımın en önemli konularından biridir şartlama. Birçok alanda birden fazla şart kullanıp, kullanıcının davranışına göre farklı sonuçlar döndürmek gerekebilir. En basit örneği ile bir giriş formu yaptığınızda kullanıcı e-posta adresini ve şifresini girmiş mi ? e-posta adresi formatı doğrumu ? şifre 8 haneden oluşuyor mu ? Şifrede büyük harf kullanılmış mı gibisinden birçok algoritma geliştirilebilir ver bunun sonucunda kullanıcının karşılaşacağı durum belirlenebilir.

Bu nedenle if else ve elseif şartlaması yazılımın büyük bir kısmını oluşturur benim gözümde. IF İngilizce eğer demek. Yani if içerisine bir şartlama koyup o şart gerçekleşiyorsa o satırın içerisindeki yapı çalışsın ELSE( İngilizcesi yoksa) şart gerçekleşmiyorsa aşağıdaki satır çalışsın mantığındadır. Tüm yazılım dillerinde bu şartlama kullanılır (kullanım şekli değişiklik gösterebilir ama algoritma her dilde aynıdır).

Örnek verecek olursak; 

$sayi=1;
if($sayi==1){
echo 'Bu sayı 1'dir.";
}else{
echo 'Bu sayı 1 değildir";
}

burada $sayi isminde bir değişken tanımladık ve değerini 1 yaptık. Aşağıda hemen şartladık dedik ki sayi değişkeni 1 ise Bu sayı 1’dir yazdıralım, değilse ekrana Bu sayı 1 değildir yazsın. Sonuç takibi Bu sayı 1’dir.

Yukarıdaki örnekte “==” eşit eşit kullandık. Bu operatörleri dilediğimiz gibi değiştirebiliriz. Örneğin “!=” deseydik sayı 1’e eşit değilse if satırının altındaki kodlar çalışacaktı. Yada “>” kullanarak bir değerden büyük veya “<” küçüktür kullanarak bir değerden küçük olup olmadığını kontrol ettirebiliriz. “>=” büyük eşittir kullanarak o sayının yada değerin eşit yada büyük olduğunu kontrol ettirebiliriz veya “<=” kullanarak eşit yada küçük olup olmadığını kontrol ettirebiliriz.

IF ELSE ve ELSEIF şartlamasının birden çok kullanımı mevcuttur. Bunuda aşağıdaki örnekle pekiştirelim.

$sayi=10;
if(#sayi < 15):
echo "Bu sayı 15'ten küçüktür";
else:
echo "Bu sayı 15'ten büyüktür";
endif;

Burada if else kullanımını değiştirdik. Yine tek bir şartlama yapacaksanız tek satırlık kodlarıda kullanabilirsiniz.

<?php
$sayi=10;
echo ($sayi < 15) ? "Bu sayı 15'ten Küçük" : "Bu sayı 15'ten büyük";
?>

Buda farklı bir kullanım şeklidir. Bir değere atayacağımız seçenek iki farklı olsun isteyebiliriz. Örneğin sayı değerini GET ile göndermek ve GET ile bir değer yoksa ona standart bir değer atamak isteyebiliriz.

$sayi= isset($_GET['sayi']) ? $_GET['sayi'] : 10;
//Yada
$sayi = $_GET['sayi'] ?? 10;

Sayi değişkenine GET ile gönderilen bir sayı varsa onu yoksa 10’u atadık. Peki if else de bu elseif nedir ? İlk başta verdiğim örnekte bazen şartlar çok daha fazla olabilir demiştim, giriş formunda. Şimdi elseifide olaya dahil edelim..

$kelime='Kaz.uslu PHP PDO Kodlaması Yapıyorum';
$harfsayisi=strlen($kelime);
if($harfsayisi > 100):
echo 'Çok uzun bir cümle';
elseif($harfsayisi < 100 && $harfsayisi > 30):
echo 'Normal uzunlukta bir cümle';
else:
echo 'Kısa bir cümle';
endif;

Burada verdiğimiz kelimenin kaç harf kullandığını strlen ile bulduk. İlk if satırımızda harf sayımız 100’ün üzerindeyse bu çok uzun bir cümle olarak ekrana bastırdık. Ardından dedik ki normal uzunluk değeri belirleyelim ve harf sayısını 100 karakterden kısa VE harf sayısı 30 karakterden uzunsa yani 30-100 arasındaysa normal bir uzunlukta cümle olarak yazdır. İki şartta gerçekleşmezse yani harf sayımız 30’dan azsa kısa bir cümle olarak yazdırdık.

Bunu pekiştirmek adına rakamsal olarak yapalım.

$bedenkitle=45;
if($bedenkitle >= 50){
echo 'Aşırı kilo';
}elseif($bedenkitle < 50 && $bedenkitle >= 30 ){
echo 'Obezite problemi';
}elseif($bedenkitle < 30 && $bedenkitle >= 15){
echo 'ideal kilo';
}else{
echo 'Aşırı zayıfsın';
}

Burada değerler hayali amaç şartlamayı kavramanız. Buradada anlayacağınız üzere bir if şartlamasının içerisine birden çok doğruluk ve yanlışlık durumu ekleyebiliyoruz. Mesela

if(!empty($_GET['id']) && !empty($_GET['sil'])):
echo .....
endif;

dediğimizde Get ile hem id hemde sil değerleri göndermemiz ve bunların boş olmaması gerekiyor. Eğer ikisinden biri dolu olması bize yetiyorsa VEYA komutunu kullanabiliriz.

if(!empty($_GET['id']) || !empty($_GET['sil'])):
echo .....
endif;

Yada aynı yerde birde Session var mı sordularım;

if((!empty($_GET['id']) && !empty($_GET['sil'])) && $_SESSION['mail']):
echo .....
endif;

burada da dedik ki id ve sil getleri dolu olacak ayrıca session değeri de olacak. Şartlamaları bu şekilde dilediğiniz gibi türetebilirsiniz.

BENZER YAZILAR

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir