Codecourse

Şərt operatorları: if, ?:

Redaktə edilib:

Bəzən şərtdən asılı olaraq müxtəlif əməliyyatlar yerinə yetirməli oluruq. if şərt operatoru bunun üçün istifadə olunur.

if operatoru

if operatoru dairəvi mötərizə cütlüyü daxilində yazılmış ifadəni yoxlayır və onun nəticəsi TRUE olduqda kod bloku yerinə yetirilir.

<?php
$number = 10;

if($number > 9)
  echo $number .' ədədi 9-dan böyükdür';
?>

Nəticə:

10 ədədi 9-dan böyükdür.

1-dən çox instruksiya icra etmək istədikdə kod blokunu fiqurlu mötərizə daxilində yazmaq lazımdır:

<?php
$number = 5;
   
if($number == 5) 
{
  echo $number."<br>";
  echo gettype($number);
}
?>

Nəticə:

5
integer

Həmişə fiqurlu mötərizədən istifadə etməyi sizə tövsiyə edirəm. Bu, kodun oxunaqlığını yaxşılaşdırır.

Məntiqi tipə çevrilmə

if(....) operatoru dairəvi mötərizə cütlüyü daxilində yazılmış ifadəni məntiqi tipə çevirir. Məntiqi tipə çevrilmə zamanı aşağıdakı qiymətlər FALSE sayılır:

Digər qiymətlər TRUE sayılır.

Məsələn, aşağıdakı şərt FALSE sayılır və fiqurlu mötərizə daxilində yazılmış kod icra edilməyəcək:

<?php
if (0) 
{
  ...
}
?>

Bu kod isə icra olunacaq:

<?php
if (-1) 
{
  ...
}
?>

else bloku

if operatorunda else blokundan istifadə edilə bilər. Şərt doğru olmadıqda icra olunur.

<?php
$a = 10;
$b = 11;

if($a > $b)
{
  echo 'a-nın qiyməti b-dən böyükdür.';
}
else
{
  echo 'b-nin qiyməti a-dan böyükdür.'; 
}
?>

Nəticə:

b-nin qiyməti a-dan böyükdür.

Else bloku buraxıla bilər, bu halda şərtdə yoxlanılan məntiqi ifadənin nəticəsi FALSE olduqda heç bir əməliyyat icra edilməyəcək.

Bir neçə şərt: elseif

Bəzən bir neçə şərt yoxlamaq lazım olur. Bunun üçün elseif blokundan istifadə edilir.

<?php
$a = 11;
$b = 11;

if($a > $b)
{
  echo 'a-nın qiyməti b-dən böyükdür.';
}
elseif($a === $b)
{
  echo 'a və b-nin qiymətləri bərabərdir.';
}
else
{
 echo 'b-nin qiyməti a-dan böyükdür.'; 
}
?>

Nəticə:

a və b-nin qiymətləri bərabərdir.

Yuxarıdakı nümunədə ilk öncə birinci şərt ($a > $b) yoxlanılır, onun nəticəsi FALSE-dır. Buna görə digər şərt ($a === $b) yoxlanılır. Nəticə TRUE olduğuna görə ekrana a və b-nin qiymətləri bərabərdir. ifadəsi çıxarılır.

Daha çox elseif blokundan istifadə etmək mümkündür.

Ternar operatoru

Daha bir şərt operatoru mövcuddur: ?: ternar operatoru

<?php
$age = 30;
   
if($age > 25) 
{
  $result = true;
} 
else 
{
  $result = false;
}
echo $result;
?>

Ternar operatorundan istifadə etməklə yuxarıdakı kodu daha qısa yazmaq olar.

Sintaksisi aşağıdakı kimidir:

şərt ? ifadə_1 : ifadə_2

İlk öncə şərt yoxlanılır və nəticəsi TRUE olduqda ifadə_1, FALSE olduqda isə ifadə_2 geri qayıdır.

<?php
$age = 30;

$result = ($age > 25) ? true : false;
echo $result;
?>
301 baxış

Şərhlər: