Veakoodide otsimine PHP tingimustes

Järgmistes ülesannetes on mõned programmeerijad kirjutanud koodi ja võimalik, et tegid selles vigu. Peate kontrollima, kas kood teeb seda, mida on kirjeldatud. Kui kood töötab valesti, peate vead parandama.

Задание 1

Kood peaks kontrollima numbrite summat:

php<?php
  $num1 = '1';
  $num2 = '2';
  
  if ($num1 + $num2 === '3') {
    echo '+++'; // peaks väljastama selle
  } else {
    echo '---';
  }
?>
Задание 2

Kood peaks kontrollima numbri esimest numbrit:

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

Kood peaks kontrollima numbri esimest numbrit:

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

Kood peaks kontrollima numbri esimest numbrit:

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

Kood peaks kontrollima, kas numbris on täpselt kaks numbrit:

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

Kood peaks kontrollima numbri esimest numbrit:

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

Kood peaks kontrollima, kas numbris on täpselt kaks numbrit:

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

Esitatud kood ei tööta nii, nagu autor kavatses:

php<?php
  $num = 1;
  
  if ($num !== 1 or $num !== 2) {
    echo '+++';
  } else {
    echo '---'; // peaks väljastama selle
  }
?>

Selgitage põhjust.

Задание 9

Esitatud kood ei tööta nii, nagu autor kavatses:

php<?php
  $var1 = '1';
  $var2 = '2';
  
  if ($var1 + 1 === $var2) {
    echo '+++'; // peaks töötama see
  } else {
    echo '---';
  }
?>

Selgitage põhjust.