⊗ppPmCdWBC 84 of 447 menu

Niestrogie porównywanie wartości logicznych w PHP

W poprzednim przykładzie użyłem do porównania operatora ===. W tym przypadku nasza zmienna była porównywana pod kątem równości z true zarówno pod względem wartości, jak i typu.

W naszym zadaniu można użyć również operatora ==. Jeśli w zmiennej test zawsze będzie jedna z wartości true lub false, to nic się nie zmieni:

<?php $test = true; // piszemy tu albo true, albo false if ($test == true) { echo '+++'; } else { echo '---'; } ?>

Ale jeśli do zmiennej $test mogą trafiać dowolne wartości, wszystko staje się dużo bardziej skomplikowane. W takim przypadku, jeśli w zmiennej będzie wartość niebędąca wartością logiczną, to ta wartość zostanie najpierw przekonwertowana na typ logiczny i dopiero wtedy zostanie porównana.

Załóżmy na przykład, że w naszej zmiennej będzie liczba 1. W tym przypadku zostanie ona najpierw przekonwertowana na typ logiczny, czyli na true. A następnie zostanie wykonane porównanie:

<?php $test = 1; if ($test == true) { echo '+++'; // zadziała to, bo 1 == true jest prawdą } else { echo '---'; } ?>

Z kolei na przykład liczba 0 zostanie przekonwertowana na false. I nasz warunek w rezultacie będzie fałszywy:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; // zadziała to, bo 0 == true jest NIEprawdą } ?>

Bez uruchamiania kodu określ, co zostanie wyświetlone na ekranie:

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

Bez uruchamiania kodu określ, co zostanie wyświetlone na ekranie:

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

Bez uruchamiania kodu określ, co zostanie wyświetlone na ekranie:

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

Bez uruchamiania kodu określ, co zostanie wyświetlone na ekranie:

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

Bez uruchamiania kodu określ, co zostanie wyświetlone na ekranie:

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

Bez uruchamiania kodu określ, co zostanie wyświetlone na ekranie:

<?php if ($test == true) { echo '+++'; } else { echo '---'; } ?>
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć