Ne "===" yok

9 Cevap php

Ben fark ettik şey anlam yapamazsınız operatörü "===" kullanarak kişidir. Ben bir işlevi ile denedim ve çılgın şekillerde gelir. Dil arada PHP.

Herkes bu operatörün tanımı nedir biliyor mu, ben bile php operatörleri bildiriminde bulamıyorum.

9 Cevap

$a === $b     (Identical)  	 TRUE if $a is equal to $b, and they are of the same type. (introduced in PHP 4)

PHP Docs

http://www.php.net/ternary

$ A $ b eşitse DOĞRU Eşit b == $ $.

$ A $ b eşitse Özdeş a === $ b $ true, ve onlar aynı tiptedir.

> "5" == 5;
True
> "5" === 5;
False

Okumanız here olabilir

PHP Eğer == operatörü veya === operatör kullanılarak 2 değerleri karşılaştırabilirsiniz. fark şudur:

PHP veri türleri üzerinde sıkı olmayan bir dinamik, yorumlanmış bir dildir. o dilin kendisi gerektiğinde, veri türleri dönüştürmek için çalışacağız anlamına gelir.

echo 4 + "2"; // output is 6

+ PHP sayısal toplama operatörü olduğunu, o yüzden diğer veri türleri ile operandlar sağlamak ise, PHP öncelikle uygun tip ("2", 2 dönüştürülür) onları dönüştürmek ve sonra işlemi gerçekleştirmek çünkü çıktı. tamsayı değeri 6 .

farklı veri türleri olabilir 2 işlenenler ile karşılaştırma operatörü olarak == kullanırsanız, PHP ilk yıllara, ikinci işlenen türünü çevirecektir. bu yüzden:

4 == "4" / ​​/ true

php 4 "4" dönüştürür ve sonra değerleri karşılaştırır. Bu durumda sonuç doğru olacaktır.

Eğer karşılaştırma operatörü olarak === kullanırsanız, PHP, herhangi bir veri türleri dönüştürmek denemez. İşlenenin türleri farklı eğer öyleyse, o zaman aynı DEĞİLDİR.

4 === "4" / ​​/ yanlış

Sen sadece PHP, birçok dinamik yazdığınız dilde bu operatörü görürsünüz.

== o karşılaştırabilirsiniz tipe ile ilgili her ne dönüştürmek için çalışacağız.

=== kesinlikle türünü ve değerini karşılaştırmak olacaktır.

Eğer == dikkatli olması herhangi bir dinamik yazdığınız dilde, bazı ilginç hatalar alabilirsiniz.

Üçlü === daha uygundur, ama daha güvenli. Karşılaştırmalar için her zaman o === veya == olması gerektiği konusunda ek bazı düşünce vermelidir

$x == $y TRUE $ x ve $ y değeri aynı ise

$x=1; //int type
$y="1"; //string type
if($x == $y){
//execute
}

$x === $y TRUE $ x ve $ y değeri aynıdır ve $ x ve $ y türü aynı ise

$x =1; //int type
$y="1"; //string type
if($x === $y){
//not execute
}

http://www.wellho.net/mouth/863_Double-and-Triple-equals-operator-in-PHP.html i "üç operatörü eşittir php" googling için almışsın.

Bir noktada diyor ki:

Bir çift = işareti karşılaştırma ve sola sürekli değişken / ifade / sağa sürekli değişken / ifadesi / aynı değere sahip olup olmadığını test olduğunu.

Her iki dizeleri veya iki tamsayılar olduğu yani - A üçlü = işareti iki değişken / ifadeleri / sabitleri eşit VE aynı tür olup olmadığını görmek için bir karşılaştırma.

Ayrıca, bunu açıklamak için bir örnek verir.

PHP, birçok farklı anlamlar sıfır alabilir

  1. Bir Boolean yanlış olabilir
  2. bir boş bir değer olabilir
  3. Bu gerçekten sıfır olabilir

Böylece === tipi ve değeri aynı olmasını sağlamak için ilave edilir.

"===" Değişken değer olarak değişkenin veri türü eşleşen.