Codecourse

Switch operatoru

Redaktə edilib:

Switch operatoru elseif bloku daxil olmaqla çoxlu sayda if operatorundan istifadə etməmək üçün əla üsuldur.

Sintaksisi aşağıdakı kimidir:

<?php
switch($x) 
{
  case 'value1': // if($x == 'value1')
    kod;
    break;
  
  case 'value2': // if($x == 'value2')
    kod;
    break;

  default: 
    kod;
    break;
}
?>

Bu operatordan istifadə edərkən aşağıdakıları bilmək lazımdır:

<?php
$x = 2;

switch($x) 
{
  case 1: 
    echo 'Bir';
    break;
  case 2: // Uyğunluq
    echo 'İki';
    break; 
  case 3: 
    echo 'Üç';
    break;
  default:
    echo 'Ya ədəd deyil, ya da 1-dən kiçik, 3-dən böyükdür.';
}
?>

Nəticə:

İki

Yuxarıdakı nümunədə switch operatoru $x dəyişəninin qiymətini ardıcıllıqla hər bir case operatorunun qiyməti ilə müqayisə edir.

$x dəyişəni əvvəlcə 1 ilə müqayisə edilir, uyğunluq olmadığından sonrakı case operatorunun qiyməti olan 2 ilə müqayisə edilir. Aha, uyğunluq tapıldı, bu variant icra olunacaq, yəni ekrana "İki" sözü çıxarılacaq. Sonrakı sətirdə break operatoru switch konstruksiyasında kodun icrasını dayandırır.

Break operatoru olmadıqda PHP sonrakı case blokunun kodunu icra edəcək:

<?php
$x = 2;

switch($x)
{
  case 1: 
    echo 'Bir';
    break;
  case 2: 
    echo 'İki';
  case 3: 
    echo 'Üç';
  case 4: 
    echo 'Dörd';
  case 5:
    echo 'Beş';
  default:
    echo 'Ya ədəd deyil, ya da 1-dən kiçik, 5-dən böyükdür.';    
}
?>

Nəticə:

BirİkiÜçDördBeşYa ədəd deyil, ya da 1-dən kiçik, 5-dən böyükdür.

Switch konstruksiyasında heç bir case blokunda uyğunluq tapılmadıqda default blokundakı kod icra edilir:

<?php
$x = 10;
   
switch($x) 
{
  case 1: 
    echo 'Bir';
    break;
  case 2: 
    echo 'İki'; 
    break;
  case 3: 
    echo 'Üç';
    break;
  case 4: 
    echo 'Dörd';
    break;
  case 5: 
    echo 'Beş';
    break;
  default: 
    echo 'Ya ədəd deyil, ya da 1-dən kiçik, 5-dən böyükdür.';
}
?>
Ya ədəd deyil, ya da 1-dən kiçik, 5-dən böyükdür.
235 baxış

Şərhlər: