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
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
if ('3' === '3') {
echo '+++'; // izpildīsies šis
} else {
echo '---';
}
?>
Tāpat kā, salīdzinot skaitļus:
<?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
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.
Nepalaižot kodu, nosakiet, kas tiks izvadīts uz ekrāna:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Neipalaižot kodu, nosakiet, kas tiks izvadīts uz ekrāna:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Neipalaižot kodu, nosakiet, kas tiks izvadīts uz ekrāna:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Neipalaižot kodu, nosakiet, kas tiks izvadīts uz ekrāna:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Neipalaižot kodu, nosakiet, kas tiks izvadīts uz ekrāna:
<?php
$test1 = 3;
$test2 = 3;
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>