Ikke-streng sammenligning av logiske verdier i PHP
I forrige eksempel brukte jeg operatoren
=== for sammenligning.
I det tilfellet ble variabelen vår
sammenlignet med true for likhet
både i verdi og type.
I vår oppgave kan vi også bruke operatoren
==. Hvis variabelen test
alltid er én av verdiene true
eller false, vil ingenting endre seg:
<?php
$test = true; // skriver enten true eller false her
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Men hvis variabelen $test kan
inneholde alle mulige verdier, blir alt
mye mer komplisert. I så fall, hvis variabelen
ikke inneholder en boolsk verdi, vil denne verdien
først bli konvertert til en boolsk verdi og først
deretter bli sammenlignet.
La oss for eksempel si at variabelen vår inneholder
tallet 1. I dette tilfellet vil det først
blitt konvertert til en boolsk type, det vil si
til true. Og deretter vil sammenligningen bli utført:
<?php
$test = 1;
if ($test == true) {
echo '+++'; // dette vil skje, fordi 1 == true er riktig
} else {
echo '---';
}
?>
Derimot vil tallet 0 for eksempel bli konvertert
til false. Og vår betingelse vil som et resultat
være usann:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---'; // dette vil skje, fordi 0 == true er IKKE riktig
}
?>
Uten å kjøre koden, bestem hva som vil skrives ut på skjermen:
<?php
$test = 1;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Uten å kjøre koden, bestem hva som vil skrives ut på skjermen:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Uten å kjøre koden, bestem hva som vil skrives ut på skjermen:
<?php
$test = 1;
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Uten å kjøre koden, bestem hva som vil skrives ut på skjermen:
<?php
$test = 1;
if ($test != true) {
echo '+++';
} else {
echo '---';
}
?>
Uten å kjøre koden, bestem hva som vil skrives ut på skjermen:
<?php
$test = '';
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Uten å kjøre koden, bestem hva som vil skrives ut på skjermen:
<?php
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>