การเปรียบเทียบความไม่เท่ากันทั้งค่าและประเภทข้อมูลใน 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 '---'; // สิ่งนี้จะทำงาน เนื่องจากค่าเท่ากัน
  }
?>

แต่ถ้าตอนนี้เราเอาตัวเลข 3 ตัวหนึ่งมาอยู่ในเครื่องหมายคำพูด ตัวดำเนินการ !== จะถือว่าตัวเลข 3 ทั้งสองของเรา ไม่เท่ากัน เนื่องจากแม้ว่าค่าของพวกมันจะตรงกัน แต่พวกมันมีประเภทข้อมูลต่างกัน:

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 '---';
  }
?>