PHP-ehtojen virheiden etsiminen koodista

Seuraavissa tehtävissä eräs ohjelmoija on kirjoittanut koodia ja mahdollisesti tehnyt siinä virheitä. Sinun tulee tarkistaa, tekeekö koodi sen, mitä on kuvattu. Jos koodi toimii väärin, sinun tulee korjata virheet.

Задание 1

Koodin tulee tarkistaa numeroiden summa:

php<?php
  $num1 = '1';
  $num2 = '2';
  
  if ($num1 + $num2 === '3') {
    echo '+++'; // pitäisi tulostaa tämä
  } else {
    echo '---';
  }
?>
Задание 2

Koodin tulee tarkistaa numeron ensimmäinen numero:

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

Koodin tulee tarkistaa numeron ensimmäinen numero:

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

Koodin tulee tarkistaa numeron ensimmäinen numero:

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

Koodin tulee tarkistaa, että numerossa on tasan kaksi numeroa:

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

Koodin tulee tarkistaa numeron ensimmäinen numero:

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

Koodin tulee tarkistaa, että numerossa on tasan kaksi numeroa:

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

Esitetty koodi ei toimi niin, kuin tekijä on tarkoittanut:

php<?php
  $num = 1;
  
  if ($num !== 1 or $num !== 2) {
    echo '+++';
  } else {
    echo '---'; // pitäisi tulostaa tämä
  }
?>

Selitä syy.

Задание 9

Esitetty koodi ei toimi niin, kuin tekijä on tarkoittanut:

php<?php
  $var1 = '1';
  $var2 = '2';
  
  if ($var1 + 1 === $var2) {
    echo '+++'; // pitäisi toimia tämä
  } else {
    echo '---';
  }
?>

Selitä syy.