Tìm lỗi trong mã điều kiện PHP

Trong các nhiệm vụ sau, một lập trình viên nào đó đã viết mã và có thể đã mắc lỗi. Bạn phải kiểm tra xem mã có làm đúng như mô tả không. Nếu mã hoạt động không chính xác, bạn phải sửa các lỗi.

Задание 1

Mã phải kiểm tra tổng các số:

php<?php
  $num1 = '1';
  $num2 = '2';
  
  if ($num1 + $num2 === '3') {
    echo '+++'; // phải xuất ra dòng này
  } else {
    echo '---';
  }
?>
Задание 2

Mã phải kiểm tra chữ số đầu tiên của số:

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

Mã phải kiểm tra chữ số đầu tiên của số:

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

Mã phải kiểm tra chữ số đầu tiên của số:

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

Mã phải kiểm tra xem số có chính xác hai chữ số không:

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

Mã phải kiểm tra chữ số đầu tiên của số:

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

Mã phải kiểm tra xem số có chính xác hai chữ số không:

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

Mã được cung cấp hoạt động không giống như tác giả dự định:

php<?php
  $num = 1;
  
  if ($num !== 1 or $num !== 2) {
    echo '+++';
  } else {
    echo '---'; // phải xuất ra dòng này
  }
?>

Hãy giải thích lý do.

Задание 9

Mã được cung cấp hoạt động không giống như tác giả dự định:

php<?php
  $var1 = '1';
  $var2 = '2';
  
  if ($var1 + 1 === $var2) {
    echo '+++'; // điều này phải xảy ra
  } else {
    echo '---';
  }
?>

Hãy giải thích lý do.