Reikšmės ir tipo lygybė PHP

Tarkime, norite lyginti taip, kad skaičius kabutėse nebūtų lygus tokiam pat skaičiui be kabučių. Kitaip tariant, norite lyginti taip, kad palyginimas būtų ne tik pagal reikšmę, bet ir pagal duomenų tipą. Tam vietoj operatoriaus == reikia naudoti operatorių ===. Palyginimas su tokiu operatoriumi vadinamas griežtu.

Žiūrėkite pavyzdį:

php<?php
  if ('3' === 3) {
    echo '+++';
  } else {
    echo '---'; // veiks tai, nes reikšmės nėra lygios pagal tipą
  }
?>

O čia, lyginant dvi eilutes '3' ekrane bus išvesta '+++':

php<?php
  if ('3' === '3') {
    echo '+++'; // veiks tai
  } else {
    echo '---';
  }
?>

Taip pat, kaip ir lyginant skaičius:

php<?php
  if (3 === 3) {
    echo '+++'; // veiks tai
  } else {
    echo '---';
  }
?>

Skirtumas tarp šių dviejų operatorių pasireiškia būtent tada, kai reikšmės yra vienodos, bet skiriasi duomenų tipas. Kitais atvejais šie operatoriai veikia vienodai. Pavyzdžiui, lyginant skirtingus skaičius, žinoma, bus išvestas minusas:

php<?php
  if (2 === 3) {
    echo '+++';
  } else {
    echo '---'; // veiks tai
  }
?>

Šiuolaikiniame PHP visuotinai priimta visur naudoti griežtą palyginimą. Manoma, kad tokiu atveju kodas yra mažiau jautrus klaidoms.

Задание 1

Paleisdami kodą, nustatykite, kas bus išvesta į ekraną:

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

Paleisdami kodą, nustatykite, kas bus išvesta į ekraną:

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

Paleisdami kodą, nustatykite, kas bus išvesta į ekraną:

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

Paleisdami kodą, nustatykite, kas bus išvesta į ekraną:

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

Paleisdami kodą, nustatykite, kas bus išvesta į ekraną:

php<?php
  $test1 = 3;
  $test2 = 3;
    
  if ($test1 === $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>