⊗ppPmCdWBC 84 of 447 menu

Icke-strikt jämförelse av booleska värden i PHP

I föregående exempel använde jag för jämförelse operatorn ===. I det här fallet jämfördes vår variabel för likhet med true både värde- och typmässigt.

I vår uppgift kan vi också använda operatorn ==. Om variabeln test alltid innehåller ett av värdena true eller false, så förändras ingenting:

<?php $test = true; // här skriver vi antingen true eller false if ($test == true) { echo '+++'; } else { echo '---'; } ?>

Men om variabeln $test kan innehålla vilka värden som helst, blir allt myndigt mer komplicerat. I så fall, om variabeln innehåller ett icke-booleskt värde, kommer det värdet först att omvandlas till ett booleskt värde och först därefter jämföras.

Låt oss till exempel anta att vår variabel innehåller siffran 1. I det här fallet kommer den först att omvandlas till boolesk typ, det vill säga till true. Och sedan kommer jämförelsen att utföras:

<?php $test = 1; if ($test == true) { echo '+++'; // detta kommer att triggas, eftersom 1 == true är sant } else { echo '---'; } ?>

Men till exempel kommer siffran 0 att omvandlas till false. Och vårt villkor kommer som ett resultat att vara falskt:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; // detta kommer att triggas, eftersom 0 == true är INTE sant } ?>

Utan att köra koden, avgör vad som kommer att skrivas ut på skärmen:

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

Utan att köra koden, avgör vad som kommer att skrivas ut på skärmen:

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

Utan att köra koden, avgör vad som kommer att skrivas ut på skärmen:

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

Utan att köra koden, avgör vad som kommer att skrivas ut på skärmen:

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

Utan att köra koden, avgör vad som kommer att skrivas ut på skärmen:

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

Utan att köra koden, avgör vad som kommer att skrivas ut på skärmen:

<?php if ($test == true) { echo '+++'; } else { echo '---'; } ?>
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa