⊗ppPmCdWBC 84 of 447 menu

Niet-strikte vergelijking van booleaanse waarden in PHP

In het vorige voorbeeld gebruikte ik voor de vergelijking de operator ===. In dit geval werd onze variabele vergeleken op gelijkheid met true zowel qua waarde als qua type.

Voor ons probleem kunnen we ook de operator == gebruiken. Als in de variabele test altijd één van de waarden true of false staat, dan verandert er niets:

<?php $test = true; // hier schrijven we of true, of false if ($test == true) { echo '+++'; } else { echo '---'; } ?>

Maar als in de variabele $test elke willekeurige waarde kan voorkomen, dan wordt alles veel ingewikkelder. In dat geval, als er in de variabele geen booleaanse waarde staat, dan zal deze waarde eerst worden omgezet naar een booleaanse waarde en pas daarna vergeleken worden.

Stel, er staat bijvoorbeeld het getal 1 in onze variabele. In dat geval wordt het eerst omgezet naar het booleaanse type, dat wil zeggen naar true. En daarna wordt de vergelijking uitgevoerd:

<?php $test = 1; if ($test == true) { echo '+++'; // dit wordt uitgevoerd, omdat 1 == true correct is } else { echo '---'; } ?>

Het getal 0 daarentegen, wordt omgezet naar false. En onze voorwaarde zal als gevolg onwaar zijn:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; // dit wordt uitgevoerd, omdat 0 == true NIET correct is } ?>

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

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

Zonder de code uit te voeren, bepaal wat er op het scherm wordt weergegeven:

<?php if ($test == true) { echo '+++'; } else { echo '---'; } ?>
Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren