Eşitlik ve Kimlik
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası. Ders 24 / 71.
PHP, değerlerin eşit olup olmadığını kontrol etmenin iki yolunu sağlar: eşitlik operatörü (==) ve kimlik operatörü (===). Farkı anlamak, güvenilir kod yazmak için kritik öneme sahiptir.
Eşitlik operatörü (==) değerleri aynı türe dönüştürdükten sonra karşılaştırır. Buna "gevşek karşılaştırma" denir:
<?php
var_dump(5 == "5"); // bool(true) - dize sayıya dönüştürüldü
var_dump(0 == false); // bool(true) - her ikisi de 0 olur
var_dump(1 == true); // bool(true) - her ikisi de 1 olur
?>Kimlik operatörü (===) hem değeri ve türü karşılaştırır. Hiçbir dönüşüm gerçekleşmez, bu yüzden her ikisi de tam olarak eşleşmelidir:
<?php
var_dump(5 === "5"); // bool(false) - tamsayı vs dize
var_dump(5 === 5); // bool(true) - aynı tür ve değer
var_dump(0 === false); // bool(false) - tamsayı vs bool
?>"Eşit olmayan" karşılaştırmalar için != (gevşek) veya !== (katı) kullanın:
<?php
var_dump(5 != "5"); // bool(false) - değerler eşit
var_dump(5 !== "5"); // bool(true) - türler farklı
?>En iyi uygulama olarak, beklenmedik tür dönüştürme sürprizlerini önlemek için === ve !== tercih edin.
Görev
KolayGirişten iki değer oku: bir sayı (dize olarak) ve bir tam sayı.
Eşitlik ve kimlik operatörlerini kullanarak aşağıdaki karşılaştırmaları değerlendir ve her birinin sonucunu var_dump() kullanarak yazdır, her biri yeni bir satırda:
- Dize değeri tam sayıya gevşek karşılaştırma kullanarak eşit mi diye kontrol et (
==) - Dize değeri tam sayıya katı karşılaştırma kullanarak eşit mi diye kontrol et (
===) - Dize değeri tam sayıya gevşek karşılaştırma kullanarak eşit değil mi diye kontrol et (
!=) - Dize değeri tam sayıya katı karşılaştırma kullanarak eşit değil mi diye kontrol et (
!==)
Not: İlk değeri dize olarak tut (dönüştürme). İkinci değeri tam sayıya dönüştür.
Örnek:
Eğer girdiler 42 ve 42 ise, çıktı şu olmalı:
bool(true)
bool(false)
bool(false)
bool(true)Açıklama:
"42" == 42true'dur (tür dönüştürmesinden sonra değerler eşittir)"42" === 42false'tur (dize vs tam sayı - farklı türler)"42" != 42false'tur (değerler eşittir)"42" !== 42true'dur (türler farklıdır)
Kendin dene
<?php
// Girişi oku
$stringValue = trim(fgets(STDIN));
$intValue = intval(trim(fgets(STDIN)));
// TODO: Kodunuzu buraya yazın
// Her karşılaştırmanın sonucunu yeni bir satıra yazdırmak için var_dump() kullanın:
// 1. Gevşek eşitlik (==)
// 2. Katı eşitlik (===)
// 3. Gevşek eşitsizlik (!=)
// 4. Katı eşitsizlik (!==)
?>Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Karşılaştırma ve Mantıksal Operatörler
Karşılaştırma OperatörleriEşitlik ve KimlikMantıksal Operatörler 1. BölümMantıksal Operatörler 2. BölümTekrar - Basit Mantık2Değişkenler ve Veri Türleri
SayılarDizeler ve Tırnak İşaretleriBoolean DeğerleriAdlandırma KurallarıTekrar - Değişken BaşlatmaBoş DeğişkenlerDize BirleştirmeKullanıcı Girdisi AlmaFarklı Türlere Dönüştürme5Koşullu Mantık
If İfadesiIf - ElseÜçlü OperatörNull Coalescing OperatörüSwitch İfadesiTekrar - Karar Verme3Temel Operatörler
Aritmetik OperatörlerMod Alma OperatörüÜs Alma OperatörüBirleşik AtamaArtırma/AzaltmaOperatör ÖnceliğiTekrar - Basit HesaplamalarDize OperatörleriKendi başına pratik yap: Online PHP derleyicisi