PHP Tür Karşılaştırma Tabloları

Aşağıdaki tablolarda PHP türlerinin ve karşılaştırma işleçlerinin gevşek ve titiz karşılaştırmalarda davranışları gösterilmiştir. Bu ek bölüm ayrıca Tür Dönüşümü bölümü ile de ilgilidir. Bu tablolar çeşitli kullanıcı yorumlarından ve » BlueShoes sitesindeki çalışmadan esinlenerek oluşturulmuştur.

Bu tabloları kullanmadan önce türleri ve anlamlarını anlamış olmak önemlidir. Örneğin, "42" değeri string türünde iken 42 değeri int türündedir. false değeri bool türünde olduğu halde "false" değeri string türündedir.

Bilginize:

HTML Formları tamsayı, gerçek sayı ve mantıksal değerleri aktarmaz; sadece dizgeleri aktarır. Bir dizgenin sayısal olup olmadığını öğrenmek için is_numeric() işlevini kullanabilirsiniz.

Bilginize:

$x tanımsızken if ($x) yazılırsa E_NOTICE seviyesinde bir hata üretilir. Bunun olmaması için empty() veya isset() işlevlerini kullanmanız ve/veya değişkenlerinizi ilklendirmeniz gerekir.

Bilginize:

Bazı sayısal işlemler NAN sabiti ile belirtilen bir değer üretebilir. Bu değerin diğer bir değerle (kendisi dahil, true hariç) sıkı veya gevşek karşılaştırmaları false sonucunu verir. (örneğin, NAN != NAN ve NAN !== NAN) NAN üreten işlemlere örnek olarak sqrt(-1), asin(2) ve asinh(0) verilebilir.

$x ile PHP işlevlerinin karşılaştırmaları
İfadegettype()empty()is_null()isset()bool : if($x)
$x = "";stringtruefalsetruefalse
$x = null;NULLtruetruefalsefalse
var $x;NULLtruetruefalsefalse
$x tanımsızNULLtruetruefalsefalse
$x = [];arraytruefalsetruefalse
$x = ['a', 'b'];arrayfalsefalsetruetrue
$x = false;booltruefalsetruefalse
$x = true;boolfalsefalsetruetrue
$x = 1;intfalsefalsetruetrue
$x = 42;intfalsefalsetruetrue
$x = 0;inttruefalsetruefalse
$x = -1;intfalsefalsetruetrue
$x = "1";stringfalsefalsetruetrue
$x = "0";stringtruefalsetruefalse
$x = "-1";stringfalsefalsetruetrue
$x = "php";stringfalsefalsetruetrue
$x = "true";stringfalsefalsetruetrue
$x = "false";stringfalsefalsetruetrue

== ile gevşek karşılaştırmalar
truefalse10-1"1""0""-1"null[]"php"""
truetruefalsetruefalsetruetruefalsetruefalsefalsetruefalse
falsefalsetruefalsetruefalsefalsetruefalsetruetruefalsetrue
1truefalsetruefalsefalsetruefalsefalsefalsefalsefalsefalse
0falsetruefalsetruefalsefalsetruefalsetruefalsefalse*false*
-1truefalsefalsefalsetruefalsefalsetruefalsefalsefalsefalse
"1"truefalsetruefalsefalsetruefalsefalsefalsefalsefalsefalse
"0"falsetruefalsetruefalsefalsetruefalsefalsefalsefalsefalse
"-1"truefalsefalsefalsetruefalsefalsetruefalsefalsefalsefalse
nullfalsetruefalsetruefalsefalsefalsefalsetruetruefalsetrue
[]falsetruefalsefalsefalsefalsefalsefalsetruetruefalsefalse
"php"truefalsefalsefalse*falsefalsefalsefalsefalsefalsetruefalse
""falsetruefalsefalse*falsefalsefalsefalsetruefalsefalsetrue
* PHP 8.0.0 öncesinde true idi.

=== ile titiz karşılaştırmalar
truefalse10-1"1""0""-1"null[]"php"""
truetruefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse
falsefalsetruefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse
1falsefalsetruefalsefalsefalsefalsefalsefalsefalsefalsefalse
0falsefalsefalsetruefalsefalsefalsefalsefalsefalsefalsefalse
-1falsefalsefalsefalsetruefalsefalsefalsefalsefalsefalsefalse
"1"falsefalsefalsefalsefalsetruefalsefalsefalsefalsefalsefalse
"0"falsefalsefalsefalsefalsefalsetruefalsefalsefalsefalsefalse
"-1"falsefalsefalsefalsefalsefalsefalsetruefalsefalsefalsefalse
nullfalsefalsefalsefalsefalsefalsefalsefalsetruefalsefalsefalse
[]falsefalsefalsefalsefalsefalsefalsefalsefalsetruefalsefalse
"php"falsefalsefalsefalsefalsefalsefalsefalsefalsefalsetruefalse
""falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsetrue
To Top