PHP'de Değer ve Tür Eşitliği

Diyelim ki, tırnak içindeki bir sayının, tırnaksız aynı sayıya eşit olmamasını istiyorsunuz. Başka bir deyişle, karşılaştırmanın sadece değere göre değil, aynı zamanda veri türüne göre de olmasını istiyorsunuz. Bunun için == operatörü yerine === operatörü kullanılmalıdır. Bu operatörle yapılan karşılaştırmaya katı karşılaştırma denir.

Örneğe bakın:

php<?php
  if ('3' === 3) {
    echo '+++';
  } else {
    echo '---'; // bu çalışır, çünkü değerler tür olarak eşit değil
  }
?>

Ancak iki '3' stringi karşılaştırıldığında ekrana '+++' yazılacaktır:

php<?php
  if ('3' === '3') {
    echo '+++'; // bu çalışır
  } else {
    echo '---';
  }
?>

Aynı şekilde sayılar karşılaştırıldığında:

php<?php
  if (3 === 3) {
    echo '+++'; // bu çalışır
  } else {
    echo '---';
  }
?>

İki operatör arasındaki fark, tam olarak değerler aynı ancak veri türleri farklı olduğunda ortaya çıkar. Diğer durumlarda bu operatörler aynı şekilde çalışır. Örneğin, farklı sayılar karşılaştırıldığında, elbette eksi işareti çıkacaktır:

php<?php
  if (2 === 3) {
    echo '+++';
  } else {
    echo '---'; // bu çalışır
  }
?>

Günümüzde PHP'de her yerde katı karşılaştırma kullanılması genel kabul görmüştür. Bu durumda kodun hatalara daha az eğilimli olduğu düşünülmektedir.

Задание 1

Kodu çalıştırmadan, ekrana ne yazılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazılacağını belirleyin:

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

Kodu çalıştırmadan, ekrana ne yazılacağını belirleyin:

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