Giri┼č yap

PHP'de Switch-Case ─░fadesi

Kontrol yap─▒lar─▒ndan biriside switch-case ifadesidir. ├çal─▒┼čma mant─▒─č─▒ olarak if-else kontrol yap─▒s─▒ndan hi├žbir fark─▒ yoktur. Genelde k─▒sa kontrol i┼člemleri i├žin if-else, daha komplike kontrol i┼člemleri i├žin daha d├╝zg├╝n bir yap─▒da ve okunabilirli─či y├╝ksek olmas─▒ndan dolay─▒ switch-case kontrol yap─▒s─▒ kullan─▒lmaktad─▒r.

─░lk olarak bir ├Ânceki dersimizde verdi─čimiz if-else ├Ârne─čini bir tekrarlayal─▒m.

<?php

    $x = 5;
    
    if ($x == 5){
        echo 'x de─čeri 5tir';
    } else if ($x > 5){
        echo 'x de─čeri 5ten b├╝y├╝kt├╝r';
    } else {
        echo 'x de─čeri = ' . $x;
    }

?>

Ayn─▒ i┼člemi switch-case ile yapmak isteseydik ┼č├Âyle olacakt─▒;

<?php

    $x = 5;
    switch ($x){
        case 5:
            echo 'x de─čeri 5tir';
        break;
        
        case $x > 5:
            echo 'x de─čeri 5ten b├╝y├╝kt├╝r';
        break;
        
        default:
            echo 'x de─čeri = ' . $x;
        break;
    }

?>

G├Ârd├╝─č├╝n├╝z gibi, kontrol edilecek de─čeri switch i├žerisinde yaz─▒yoruz. Daha sonra case ifadesi ile kontrollerimi yap─▒yorum, e─čer do─črudan e┼čitlik istiyorsam case 5 gibi tan─▒m yap─▒yorum. Ancak 5'ten b├╝y├╝k olmas─▒ gibi bir ifade kullanacaksam o zaman $x de─či┼čkenini kullan─▒yorum. Yani $x > 5 gibi bir ko┼čul yaz─▒yorum. else ifadesi ise, default ifadesindeki tan─▒m─▒m oluyor.

if-else ifadesi mi yoksa switch-case ifadesi mi daha okunabilir ve d├╝zenli? Hangisinin daha okunabilir ve d├╝zenli oldu─čunu d├╝┼č├╝n├╝yorsan─▒z onu kullan─▒n. Ya da her ikisini de yeri geldi─čine kullan─▒n, ├žok ├Ânemli bir ayr─▒nt─▒ de─čil tamamen yazana kalm─▒┼č bir durum. Ancak konu HTML i├žinde kullan─▒ma geldi─činde tart─▒┼čmas─▒z if-else yap─▒s─▒n─▒ kullanman─▒z gerekir.

Alternatif S├Âzdizimi

switch-case ifadesinin de ayn─▒ if-else ifadesinde oldu─ču gibi alternatif bir s├Âz dizimi var.

<?php
    
    $x = 5;
    
    switch($x):
        
        case 5:
            echo 'x de─čeri 5tir';
        break;
        
        case $x > 5:
            echo 'x de─čeri 5ten b├╝y├╝kt├╝r';
        break;
        
        default:
            echo 'x de─čeri = ' . $x;
        break;
        
    endswitch;
    
?>

Tabi bu alternatif s├Âzdizimi san─▒r─▒m if-else ifadesinde daha i┼če yar─▒yor :) Burada ├žok b├╝y├╝k bir fark yaratmad─▒, yine de bilgi ama├žl─▒ g├Âstermek istedim.

tayfunerbilen
248 g├╝n ├Ânce yazd─▒.