Ikke-streng sammenligning af logiske værdier i PHP

I det forrige eksempel brugte jeg operatoren === til sammenligning. I dette tilfælde blev vores variabel sammenlignet for lighed med true både på værdi og type.

I vores opgave kan vi også bruge operatoren ==. Hvis variablen test altid vil være en af værdierne true eller false, så ændrer intet sig:

php<?php
  $test = true; // skriver enten true eller false her
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>

Men hvis enhver værdi kan komme ind i variablen $test, så bliver alt mere kompliceret. I sådant tilfælde, hvis variablen indeholder en ikke-boolsk værdi, vil denne værdi først blive konverteret til en boolsk værdi og først derefter blive sammenlignet.

Lad os for eksempel sige, at vores variabel indeholder tallet 1. I dette tilfælde vil det først blive konverteret til den logiske type, det vil sige til true. Og derefter vil sammenligningen blive udført:

php<?php
  $test = 1;
  
  if ($test == true) {
    echo '+++'; // dette vil køre, fordi 1 == true er korrekt
  } else {
    echo '---';
  }
?>

Men for eksempel vil tallet 0 blive konverteret til false. Og vores betingelse vil som resultat være falsk:

php<?php
  $test = 0;
  
  if ($test == true) {
    echo '+++';
  } else {
    echo '---'; // dette vil køre, fordi 0 == true er IKKE korrekt
  }
?>
Задание 1

Uden at køre koden, skal du afgøre, hvad der vil blive vist på skærmen:

php<?php
  $test = 1;
    
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 2

Uden at køre koden, skal du afgøre, hvad der vil blive vist på skærmen:

php<?php
  $test = 0;
    
  if ($test == true) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 3

Uden at køre koden, skal du afgøre, hvad der vil blive vist på skærmen:

php<?php
  $test = 1;
    
  if ($test == false) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 4

Uden at køre koden, skal du afgøre, hvad der vil blive vist på skærmen:

php<?php
  $test = 1;
    
  if ($test != true) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 5

Uden at køre koden, skal du afgøre, hvad der vil blive vist på skærmen:

php<?php
  $test = '';
    
  if ($test == false) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 6

Uden at køre koden, skal du afgøre, hvad der vil blive vist på skærmen:

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