PHP-дегі логикалық мәндерді қатаң емес салыстыру
Алдыңғы мысалда мен салыстыру үшін
=== операторын қолдандым. Бұл жағдайда біздің айнымалы
true-тең болуы бойынша салыстырылды
мән бойынша да, тип бойынша да.
Біздің есепте == операторын да
қолдануға болады. Егер test айнымалысында
әрқашан true немесе false
мәндерінің бірі болса, онда ештеңе өзгермейді:
<?php
$test = true; // мұнда true немесе false жазамыз
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Ал егер $test айнымалысына
кез келген мәндер түсе алатын болса, онда бәрі
әлдеқайда күрделене түседі. Ондай жағдайда, егер айнымалыда
логикалық емес мән болса, онда бұл мән
алдымен логикалық түрге түрлендіріліп, содан кейін
ғана салыстырылады.
Мысалы, біздің айнымалымызда
1 саны болсын. Бұл жағдайда ол алдымен
логикалық типке түрлендіріледі, яғни
true-ке. Содан кейін салыстыру орындалады:
<?php
$test = 1;
if ($test == true) {
echo '+++'; // бұл орындалады, себебі 1 == true дұрыс
} else {
echo '---';
}
?>
Ал мысалы, 0 саны
false-ке түрленеді. Және біздің шартымыз нәтижесінде
жалған болады:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---'; // бұл орындалады, себебі 0 == true дұрыс ЕМЕС
}
?>
Кодты істемеден, экранға не шығатынын анықтаңыз:
<?php
$test = 1;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Кодты істемеден, экранға не шығатынын анықтаңыз:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Кодты істемеден, экранға не шығатынын анықтаңыз:
<?php
$test = 1;
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Кодты істемеден, экранға не шығатынын анықтаңыз:
<?php
$test = 1;
if ($test != true) {
echo '+++';
} else {
echo '---';
}
?>
Кодты істемеден, экранға не шығатынын анықтаңыз:
<?php
$test = '';
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Кодты істемеден, экранға не шығатынын анықтаңыз:
<?php
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>