PHP-də məntiqi qiymətlərin qeyri-ciddi müqayisəsi

Əvvəlki misalda müqayisə üçün === operatorundan istifadə etmişdim. Bu halda bizim dəyişənimiz true ilə həm qiymət, həm də tip baxımından bərabərlik yoxlanılır.

Bizim məsələdə == operatorundan da istifadə etmək olar. Əgər test dəyişənində həmişə true ya da false qiymətlərindən biri olarsa, heç nə dəyişməyəcək:

php<?php
  $test = true; // bura ya true, ya da false yazırıq
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>

Amma əgər $test dəyişəninə istənilən tipli qiymətlər düşə bilərsə, onda hər şey daha mürəkkəb olur. Belə bir halda, əgər dəyişəndə məntiqi qiymət deyilsə, bu qiymət əvvəlcə məntiqi tipə çevriləcək və yalnız ondan sonra müqayisə ediləcək.

Məsələn, tutaq ki, dəyişənimizdə 1 rəqəmi var. Bu halda əvvəlcə o, məntiqi tipə, yəni true-a çevriləcək. Və sonra müqayisə yerinə yetiriləcək:

php<?php
  $test = 1;
  
  if ($test == true) {
    echo '+++'; // bu işləyəcək, cunki 1 == true - bu doğrudur
  } else {
    echo '---';
  }
?>

Amma, məsələn, 0 rəqəmi false-a çevrilir. Və nəticədə şərtimiz yalan olacaq:

php<?php
  $test = 0;
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---'; // bu işləyəcək, cunki 0 == true - bu doğru DEYİL
  }
?>
Задание 1

Kodu işə salmadan, ekrana nə çıxacağını müəyyən edin:

php<?php
  $test = 1;
    
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 2

Kodu işə salmadan, ekrana nə çıxacağını müəyyən edin:

php<?php
  $test = 0;
    
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 3

Kodu işə salmadan, ekrana nə çıxacağını müəyyən edin:

php<?php
  $test = 1;
    
  if ($test == false) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 4

Kodu işə salmadan, ekrana nə çıxacağını müəyyən edin:

php<?php
  $test = 1;
    
  if ($test != true) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 5

Kodu işə salmadan, ekrana nə çıxacağını müəyyən edin:

php<?php
  $test = '';
    
  if ($test == false) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 6

Kodu işə salmadan, ekrana nə çıxacağını müəyyən edin:

php<?php
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>