Vienlīdzība pēc vērtības un tipa PHP

Pieņemsim, ka vēlaties salīdzināt tā, lai skaitlis pēdiņās nebūtu vienāds ar tādu pašu skaitli bez pēdiņām. Citiem vārdiem sakot, jūs vēlaties salīdzināt tā, lai salīdzinājums būtu ne tikai pēc vērtības, bet arī pēc datu tipa. Lai to izdarītu, operatora == vietā jāizmanto operators ===. Salīdzinājumu ar šādu operatoru sauc par stingru.

Skatiet piemēru:

php<?php
  if ('3' === 3) {
    echo '+++';
  } else {
    echo '---'; // izpildīsies šis, jo vērtības nav vienādas pēc tipa
  }
?>

Savukārt, salīdzinot divas virknes '3' uz ekrāna tiks izvadīts '+++':

php<?php
  if ('3' === '3') {
    echo '+++'; // izpildīsies šis
  } else {
    echo '---';
  }
?>

Tāpat kā, salīdzinot skaitļus:

php<?php
  if (3 === 3) {
    echo '+++'; // izpildīsies šis
  } else {
    echo '---';
  }
?>

Atšķirība starp abiem operatoriem izpaužas tieši tad, kad vērtības ir vienādas, bet atšķiras datu tips. Visos citos gadījumos šie operatori darbojas vienādi. Piemēram, salīdzinot dažādus skaitļus, protams, tiks izvadīts mīnuss:

php<?php
  if (2 === 3) {
    echo '+++';
  } else {
    echo '---'; // izpildīsies šis
  }
?>

Pašlaik PHP ir vispārpieņemts visur izmantot stingro salīdzināšanu. Tiek uzskatīts, ka šajā gadījumā kods ir mazāk pakļauts kļūdām.

Задание 1

Nepalaižot kodu, nosakiet, kas tiks izvadīts uz ekrāna:

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

Neipalaižot kodu, nosakiet, kas tiks izvadīts uz ekrāna:

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

Neipalaižot kodu, nosakiet, kas tiks izvadīts uz ekrāna:

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

Neipalaižot kodu, nosakiet, kas tiks izvadīts uz ekrāna:

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

Neipalaižot kodu, nosakiet, kas tiks izvadīts uz ekrāna:

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