Foutsoek in PHP-kondisiekode

In die volgende take het 'n programmeerder kode geskryf en moontlik foute daarin gemaak. Jy moet nagaan of die kode doen wat beskryf word. As die kode nie korrek werk nie, moet jy die foute regstel.

Задание 1

Die kode moet die som van die getalle nagaan:

php<?php
  $num1 = '1';
  $num2 = '2';
  
  if ($num1 + $num2 === '3') {
    echo '+++'; // moet dit uitvoer
  } else {
    echo '---';
  }
?>
Задание 2

Die kode moet die eerste syfer van die getal nagaan:

php<?php
  $num = 123;
  
  if ($num[0] === 1) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 3

Die kode moet die eerste syfer van die getal nagaan:

php<?php
  $num = 123;
  
  if ((string) $num[0] === 1) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 4

Die kode moet die eerste syfer van die getal nagaan:

php<?php
  $num = 123;
  $str = (string) $num;
  
  if ($str[0] === 1) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 5

Die kode moet nagaan dat die getal presies twee syfers het:

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

Die kode moet die eerste syfer van die getal nagaan:

php<?php
  $num = 123;
  $str = (string) $num;
  
  if ($num[0] === '1') {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 7

Die kode moet nagaan dat die getal presies twee syfers het:

php<?php
  $num = 12;
  $str = (int) $num;
  
  if (strlen($str) === 2) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 8

Die gegewe kode werk nie soos die outeur bedoel het nie:

php<?php
  $num = 1;
  
  if ($num !== 1 or $num !== 2) {
    echo '+++';
  } else {
    echo '---'; // moet dit uitvoer
  }
?>

Verduidelik die rede.

Задание 9

Die gegewe kode werk nie soos die outeur bedoel het nie:

php<?php
  $var1 = '1';
  $var2 = '2';
  
  if ($var1 + 1 === $var2) {
    echo '+++'; // moet hierdie werk
  } else {
    echo '---';
  }
?>

Verduidelik die rede.