Ανισότητα ως προς την τιμή και τον τύπο στην PHP

Εκτός από τον τελεστή != υπάρχει επίσης ο τελεστής !==, ο οποίος λαμβάνει υπόψη τον τύπο κατά τη σύγκριση. Ας εξετάσουμε τις διαφορές μεταξύ τους με παραδείγματα.

Ας υποθέσουμε ότι με τον τελεστή != συγκρίνονται δύο αριθμοί 3. Αυτός ο τελεστής συγκρίνει τις τιμές ως προς το αν ΔΕΝ είναι ίσες. Εφόσον οι τιμές μας είναι όντως ίσες, τότε στην οθόνη θα εμφανιστεί '-':

php<?php
  if (3 != 3) {
    echo '+++';
  } else {
    echo '---'; // αυτό θα εκτελεστεί, αφού οι τιμές είναι ίσες
  }
?>

Ας υποθέσουμε τώρα ότι μία από τις τιμές μας θα είναι σε εισαγωγικά. Σε αυτήν την περίπτωση, ο τελεστής != θα τις θεωρήσει πάλι ίσες (καθώς ταιριάζει η τιμή, ενώ ο τύπος δεν είναι σημαντικός για αυτόν τον τελεστή) και πάλι θα εμφανίσει '-':

php<?php
  if ('3' != 3) {
    echo '+++';
  } else {
    echo '---'; // αυτό θα εκτελεστεί, αφού οι τιμές είναι ίσες
  }
?>

Ας συγκρίνουμε τώρα δύο αριθμούς 3 με τον τελεστή !==. Αυτός επίσης θα τους θεωρήσει ίσους και θα εμφανίσει '-':

php<?php
  if (3 !== 3) {
    echo '+++';
  } else {
    echo '---'; // αυτό θα εκτελεστεί, αφού οι τιμές είναι ίσες
  }
?>

Ωστόσο, αν τώρα βάλουμε ένα από τα τρία σε εισαγωγικά, τότε ο τελεστής !== θα θεωρήσει τις τριάδες μας ανίσες, καθώς, αν και οι τιμές τους ταιριάζουν, έχουν διαφορετικό τύπο:

php<?php
  if ('3' !== 3) {
    echo '+++'; // αυτό θα εκτελεστεί, αφού οι τιμές ΔΕΝ είναι ίσες
  } else {
    echo '---';
  }
?>
Задание 1

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

php<?php
  $test1 = '3';
  $test2 = '3';
    
  if ($test1 != $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 2

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

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

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

php<?php
  $test1 = 3;
  $test2 = '3';
    
  if ($test1 != $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>
Задание 4

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

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

Χωρίς να εκτελέσετε τον κώδικα, προσδιορίστε τι θα εμφανιστεί στην οθόνη:

php<?php
  $test1 = 3;
  $test2 = 2;
    
  if ($test1 !== $test2) {
    echo '+++';
  } else {
    echo '---';
  }
?>