Không có  toán tử so sánh giống hệt nghiêm ngặt ( >==hoặc <==) trong PHP (ít nhất là bằng 5.6.6) , nhưng có một số cách để thực thi kiểm tra loại nghiêm ngặt trước khi kiểm tra Greater / Lower:
- Kiểm tra cả hai loại biến với if (gettype($a) === gettype($b))
- Buộc loại diễn viên cần thiết của bạn, vd. if ((string)$a === (string)$b)
- Buộc loại cần thiết của bạn, ví dụ. if (($a . '') === ($b . ''))
Hãy lưu ý rằng:
- Độ chính xác điểm nổi là hạn chế
- INFvà- NANthuộc loại- floatdướiieeee754
- Một số Infinity bằng với một số khác Infinity (kể từ PHP 5.4)
- Ký hiệu khoa học eluôn là loạifloatvà không bao giờintegerngay cả khi số lượng nhỏ
- Số nguyên đi qua PHP_INT_MAXđược tự động chuyển đổi thànhfloat
- Phao vượt qua ranh giới của hệ thống có được INFgiá trị
- Các biến không xác định có loại và giá trị NULL
- Số nguyên đứng trước 0được chuyển đổi từ bát phân sang thập phân (theo quy ước)
- Chuyển đổi Chuỗi chứa một số nguyên có một số nguyên dẫn 0đến các số nguyên hàng đầu0
Danh sách một số so sánh kỳ lạ:
Rất lạ:
     $ một VS. $ b $ a> $ b $ a <$ b $ a <= $ b $ a> = $ b $ a == $ b $ a === $ b
  float (NAN) float (-INF) false false false false false false
  float (NAN) float (0) false false false false false false
  float (NAN) float (1) false false false false false false
  float (NAN) float (INF) false false false false false false
  float (NAN) float (NAN) false false false false false false
  float (NAN) int (-1) false false false false false false
  float (NAN) int (0) false false false false false false
  float (NAN) int (1) false false false false false false
Bằng nhau nhưng không giống nhau:
     $ một VS. $ b $ a> $ b $ a <$ b $ a <= $ b $ a> = $ b $ a == $ b $ a === $ b
  Mảng NULL (NULL) () false false true true true true false
  NULL (NULL) bool (false) false false true true true true false
  NULL (NULL) float (0) false false true true true true false
  NULL (NULL) int (0) sai sai đúng đúng đúng đúng sai
  NULL (NULL) str ('') sai sai đúng đúng đúng sai
   mảng () bool (false) false false true true true true
 bool (false) float (0) false false true true true true false
 bool (false) int (0) false false đúng đúng đúng sai
   str ('') bool (false) false false true true true true false
 bool (false) str ('0') false false true true true true false
 float (-INF) bool (true) false false true true true true false
  bool (true) float (1) false false true true true true false
  float (INF) bool (true) false false true true true true false
  float (NAN) bool (true) false false true true true true false
  bool (true) int (-1) false false true true true true false
  bool (true) int (1) false false true true true true false
  bool (true) str ("\ 0") false false true true true true true
  bool (true) str ('+') false false true true true true false
  bool (true) str ('-') false false true true true true false
  bool (true) str ('01 ') false false true true true true true
  bool (true) str ('1') false false true true true true false
  bool (true) str ('false') false false true true true true false
 str ('văn bản') bool (đúng) sai sai đúng đúng đúng đúng sai
 str ('true') bool (true) false false true true true true true
    int (0) float (0) false false true true true true false
  str ("\ 0") float (0) false false true true true true false
   str ('') float (0) false false true true true true false
   str ('+') float (0) false false true true true true false
   str ('-') float (0) false false true true true true false
   str ('0') float (0) false false true true true true false
 str ('false') float (0) false false true true true true false
 str ('text') float (0) false false true true true true false
 str ('true') float (0) false false true true true true false
    int (1) float (1) false false true true true true false
   float (1) str ('01 ') false false true true true true false
   float (1) str ('1') false false true true true true false
  str ("\ 0") int (0) sai sai đúng đúng đúng sai
   str ('') int (0) sai sai đúng đúng đúng sai
   str ('+') int (0) sai sai đúng đúng đúng sai
   str ('-') int (0) sai sai đúng đúng đúng sai
    int (0) str ('0') sai sai đúng đúng đúng sai
 str ('false') int (0) sai sai đúng đúng đúng đúng sai
 str ('văn bản') int (0) sai sai đúng đúng đúng sai
 str ('true') int (0) false false true true true true false
    int (1) str ('01 ') sai sai đúng đúng đúng sai
    int (1) str ('1') sai sai đúng đúng đúng sai
   str ('1') str ('01 ') sai sai đúng đúng đúng đúng sai
Hạ và Lớn cùng một lúc?
     $ một VS. $ b $ a> $ b $ a <$ b $ a <= $ b $ a> = $ b $ a == $ b $ a === $ b
  float (NAN) str ("\ 0") đúng đúng đúng đúng sai sai
  float (NAN) str ('') đúng đúng đúng đúng sai sai
  float (NAN) str ('+') đúng đúng đúng đúng sai sai
  float (NAN) str ('-') đúng đúng đúng đúng sai sai
  float (NAN) str ('0') đúng đúng đúng đúng sai sai
  float (NAN) str ('01 ') đúng đúng đúng đúng sai sai
  float (NAN) str ('1') đúng đúng đúng đúng sai sai
  float (NAN) str ('false') đúng đúng đúng đúng sai sai
  float (NAN) str ('text') true true true true true false false
  float (NAN) str ('true') đúng đúng đúng đúng sai sai
Bằng nhau và giống hệt nhau:
     $ một VS. $ b $ a> $ b $ a <$ b $ a <= $ b $ a> = $ b $ a == $ b $ a === $ b
  NULL (NULL) NULL (NULL) sai sai đúng đúng đúng đúng đúng
 float (-INF) float (-INF) false false true true true true true
  float (INF) float (INF) false false true true true true đúng
Thấp hơn hoặc lớn hơn:
     $ một VS. $ b $ a> $ b $ a <$ b $ a <= $ b $ a> = $ b $ a == $ b $ a === $ b
  NULL (NULL) bool (true) false true true true false false false
 float (-INF) NULL (NULL) đúng sai sai sai sai sai sai
  NULL (NULL) float (1) false true true true false false false
  float (INF) NULL (NULL) đúng sai sai đúng sai sai sai
  float (NAN) NULL (NULL) đúng sai sai sai sai sai sai
  NULL (NULL) int (-1) sai đúng đúng sai sai sai sai
  NULL (NULL) int (1) sai đúng đúng sai sai sai sai
  NULL (NULL) str ("\ 0") sai đúng đúng sai sai sai sai
  NULL (NULL) str ('+') sai đúng đúng sai sai sai sai
  NULL (NULL) str ('-') sai đúng đúng sai sai sai sai
  NULL (NULL) str ('0') sai đúng đúng sai sai sai sai
  NULL (NULL) str ('01 ') sai đúng đúng sai sai sai sai
  NULL (NULL) str ('1') sai đúng đúng sai sai sai sai
  NULL (NULL) str ('false') false true true true false false false
  NULL (NULL) str ('text') false true true true false false false
  NULL (NULL) str ('true') false true true true false false false
   mảng () bool (true) false true true false false false false
 mảng float (-INF) () false true true false false false false
   mảng () float (0) true false false false false false
   mảng () float (1) true false false false false false
  mảng float (INF) () false true true false false false false
  float (NAN) mảng () false true true false false false false
   mảng () int (-1) đúng sai sai sai sai sai sai
   mảng () int (0) đúng sai sai sai sai sai sai
   mảng () int (1) đúng sai sai sai sai sai sai
   mảng () str ("\ 0") đúng sai sai đúng sai sai sai
   str ('') mảng () false true true false false false false
   mảng () str ('+') đúng sai sai đúng sai sai sai
   mảng () str ('-') đúng sai sai đúng sai sai sai
   mảng () str ('0') đúng sai sai đúng sai sai sai
   mảng () str ('01 ') đúng sai sai đúng sai sai sai
   mảng () str ('1') đúng sai sai đúng sai sai sai
   mảng () str ('false') đúng sai sai sai sai sai sai
   mảng () str ('văn bản') đúng sai sai sai sai sai sai
   mảng () str ('true') đúng sai sai đúng sai sai sai
  bool (true) bool (false) true false false false false false false
 float (-INF) bool (false) đúng false false false false false
   float (1) bool (false) true false false false false false false
  float (INF) bool (false) đúng false false false false false false
  float (NAN) bool (false) true false false false false false false
 bool (false) int (-1) false đúng đúng sai sai sai sai
    int (1) bool (false) đúng sai sai sai sai sai sai
 bool (false) str ("\ 0") false đúng đúng sai sai sai sai
 bool (false) str ('+') false đúng đúng sai sai sai sai
 bool (false) str ('-') sai đúng đúng sai sai sai sai
 bool (false) str ('01 ') sai đúng đúng sai sai sai sai
   str ('1') bool (false) đúng sai sai sai sai sai sai
 bool (false) str ('false') false true true false false false false
 str ('văn bản') bool (false) đúng sai sai sai sai sai sai
 str ('true') bool (false) đúng false false false false false false
  bool (true) float (0) true false false true false false false
  bool (true) int (0) đúng sai sai đúng sai sai sai
   str ('') bool (đúng) sai đúng đúng sai sai sai sai
  bool (true) str ('0') đúng sai sai đúng sai sai sai
 float (-INF) float (0) false true true false false false false
 float (-INF) float (1) false true true false false false false
  float (INF) float (-INF) true false false false false false
 float (-INF) int (-1) false true true false false false false
 float (-INF) int (0) false đúng đúng sai sai sai sai
 float (-INF) int (1) false true true false false false false
 float (-INF) str ("\ 0") false true true true false false false
 float (-INF) str ('') false true true true false false false
 float (-INF) str ('+') false true true true false false false
 float (-INF) str ('-') false true true true false false false
 float (-INF) str ('0') false true true true false false false
 float (-INF) str ('01 ') false true true true false false false
 float (-INF) str ('1') false true true true false false false
 float (-INF) str ('false') false true true true false false false
 float (-INF) str ('text') false true true true false false false
 float (-INF) str ('true') false true true true false false false
   float (1) float (0) true false false false false false
  float (INF) float (0) true false false false false false false
   float (0) int (-1) true false false false false false
    int (1) float (0) true false false false false false
   float (0) str ('01 ') false true true false false false false
   str ('1') float (0) đúng sai sai đúng sai sai sai
  float (INF) float (1) true false false false false false false
   float (1) int (-1) true false false false false false false
   float (1) int (0) true false false false false false
   float (1) str ("\ 0") đúng sai sai sai sai sai sai
   str ('') float (1) false true true false false false false
   float (1) str ('+') true false false false false false
   float (1) str ('-') đúng sai sai sai sai sai sai
   float (1) str ('0') đúng sai sai sai sai sai sai
   float (1) str ('false') đúng sai sai sai sai sai sai
 str ('văn bản') float (1) false true true false false false false
 str ('true') float (1) false true true false false false false
  float (INF) int (-1) đúng sai sai sai sai sai sai
  float (INF) int (0) true false false false false false
  float (INF) int (1) đúng sai sai sai sai sai sai
  float (INF) str ("\ 0") đúng sai sai sai sai sai sai
  float (INF) str ('') đúng sai sai đúng sai sai sai
  float (INF) str ('+') đúng sai sai đúng sai sai sai
  float (INF) str ('-') đúng sai sai sai sai sai sai
  float (INF) str ('0') đúng sai sai đúng sai sai sai
  float (INF) str ('01 ') đúng sai sai sai sai sai sai
  float (INF) str ('1') đúng sai sai sai sai sai sai
  float (INF) str ('false') đúng sai sai sai sai sai sai
  float (INF) str ('text') true false false false false false false
  float (INF) str ('true') true false false false false false false
    int (0) int (-1) đúng sai sai sai sai sai sai
    int (1) int (-1) đúng sai sai sai sai sai sai
  str ("\ 0") int (-1) đúng sai sai sai sai sai sai
   str ('') int (-1) đúng sai sai đúng sai sai sai
   str ('+') int (-1) đúng sai sai sai sai sai sai
   str ('-') int (-1) đúng sai sai sai sai sai sai
   str ('0') int (-1) đúng sai sai sai sai sai sai
   int (-1) str ('01 ') sai đúng đúng sai sai sai sai
   str ('1') int (-1) đúng sai sai sai sai sai sai
 str ('false') int (-1) đúng sai sai sai sai sai sai
 str ('văn bản') int (-1) đúng sai sai sai sai sai sai
 str ('true') int (-1) đúng sai sai đúng sai sai sai
    int (1) int (0) đúng sai sai sai sai sai sai
    int (0) str ('01 ') sai đúng đúng sai sai sai sai
   str ('1') int (0) đúng sai sai sai sai sai sai
    int (1) str ("\ 0") đúng sai sai sai sai sai sai
   str ('') int (1) sai đúng đúng sai sai sai sai
    int (1) str ('+') đúng sai sai đúng sai sai sai
    int (1) str ('-') đúng sai sai sai sai sai sai
    int (1) str ('0') đúng sai sai sai sai sai sai
    int (1) str ('false') đúng sai sai sai sai sai sai
 str ('văn bản') int (1) sai đúng đúng sai sai sai sai
 str ('true') int (1) sai đúng đúng sai sai sai sai
   str ('') str ("\ 0") sai đúng đúng sai sai sai sai
   str ('+') str ("\ 0") đúng sai sai sai sai sai sai
   str ('-') str ("\ 0") đúng sai sai sai sai sai sai
  str ("\ 0") str ('0') sai đúng đúng sai sai sai sai
  str ("\ 0") str ('01 ') sai đúng đúng sai sai sai sai
   str ('1') str ("\ 0") đúng sai sai sai sai sai sai
 str ('false') str ("\ 0") đúng sai sai sai sai sai sai
 str ('văn bản') str ("\ 0") đúng sai sai sai sai sai sai
 str ('true') str ("\ 0") đúng sai sai đúng sai sai sai
   str ('') str ('+') sai đúng đúng sai sai sai sai
   str ('') str ('-') sai đúng đúng sai sai sai sai
   str ('') str ('0') sai đúng đúng sai sai sai sai
   str ('') str ('01 ') sai đúng đúng sai sai sai sai
   str ('') str ('1') sai đúng đúng sai sai sai sai
   str ('') str ('false') sai đúng đúng sai sai sai sai
   str ('') str ('văn bản') sai đúng đúng sai sai sai sai
   str ('') str ('true') sai đúng đúng sai sai sai sai
   str ('-') str ('+') đúng sai sai đúng sai sai sai
   str ('+') str ('0') sai đúng đúng sai sai sai sai
   str ('+') str ('01 ') sai đúng đúng sai sai sai sai
   str ('1') str ('+') đúng sai sai đúng sai sai sai
 str ('false') str ('+') đúng sai sai sai sai sai sai
 str ('văn bản') str ('+') đúng sai sai sai sai sai sai
 str ('true') str ('+') đúng sai sai đúng sai sai sai
   str ('-') str ('0') sai đúng đúng sai sai sai sai
   str ('-') str ('01 ') sai đúng đúng sai sai sai sai
   str ('1') str ('-') đúng sai sai sai sai sai sai
 str ('false') str ('-') đúng sai sai sai sai sai sai
 str ('văn bản') str ('-') đúng sai sai sai sai sai sai
 str ('true') str ('-') đúng sai sai đúng sai sai sai
   str ('0') str ('01 ') sai đúng đúng sai sai sai sai
   str ('1') str ('0') đúng sai sai đúng sai sai sai
 str ('false') str ('0') đúng sai sai sai sai sai sai
 str ('văn bản') str ('0') đúng sai sai đúng sai sai sai
 str ('true') str ('0') đúng sai sai đúng sai sai sai
 str ('false') str ('01 ') đúng sai sai sai sai sai sai
 str ('văn bản') str ('01 ') đúng sai sai sai sai sai sai
 str ('true') str ('01 ') đúng sai sai đúng sai sai sai
   str ('1') str ('false') sai đúng đúng sai sai sai sai
 str ('văn bản') str ('1') đúng sai sai sai sai sai sai
 str ('true') str ('1') đúng sai sai đúng sai sai sai
 str ('văn bản') str ('false') đúng sai sai sai sai sai sai
 str ('true') str ('false') đúng sai sai đúng sai sai sai
 str ('true') str ('text') true false false false false false
$a > $b > $cCâu hỏi hóc búa khi: $akhông lớn hơn $c.
A <C: float (NAN)> str ('a')> str ('')
A <C: float (NAN)> str ('a')> str ('1')
A <C: float (NAN)> str ('a')> str ('A')
A <C: float (NAN)> str ('a')> str ('0')
A <C: float (NAN)> str ('1')> str ('')
A <C: float (NAN)> str ('1')> str ('0')
A <C: float (NAN)> str ('A')> str ('')
A <C: float (NAN)> str ('A')> str ('1')
A <C: float (NAN)> str ('A')> str ('0')
A <C: float (NAN)> str ('0')> str ('')
A <C: str ('')> float (NAN)> str ('a')
A <C: str ('')> float (NAN)> str ('1')
A <C: str ('')> float (NAN)> str ('A')
A <C: str ('')> float (NAN)> str ('0')
A <C: str ('a')> str ('')> float (NAN)
A <C: str ('a')> str ('1')> float (NAN)
A <C: str ('a')> str ('A')> float (NAN)
A <C: str ('a')> str ('0')> float (NAN)
A <C: str ('0')> str ('')> float (NAN)
A == C: bool (đúng)> str ('')> float (NAN)
A == C: bool (đúng)> str ('')> float (-INF)
A == C: bool (đúng)> str ('')> int (-1)
A == C: bool (đúng)> str ('')> float (-1)
A == C: bool (true)> mảng ()> float (NAN)
A == C: bool (true)> mảng ()> float (INF)
A == C: bool (true)> mảng ()> float (-INF)
A == C: bool (true)> mảng ()> str ('a')
A == C: bool (true)> mảng ()> int (1)
A == C: bool (true)> mảng ()> float (1)
A == C: bool (true)> mảng ()> str ('1')
A == C: bool (true)> mảng ()> str ('A')
A == C: bool (true)> mảng ()> int (-1)
A == C: bool (true)> mảng ()> float (-1)
A == C: bool (đúng)> int (0)> float (-INF)
A == C: bool (đúng)> int (0)> int (-1)
A == C: bool (đúng)> int (0)> float (-1)
A == C: bool (đúng)> str ('0')> float (NAN)
A == C: bool (đúng)> str ('0')> float (-INF)
A == C: bool (đúng)> str ('0')> int (-1)
A == C: bool (đúng)> str ('0')> float (-1)
A == C: bool (đúng)> float (0)> float (-INF)
A == C: bool (đúng)> float (0)> int (-1)
A == C: bool (đúng)> float (0)> float (-1)
A == C: int (1)> str ('a')> str ('1')
A == C: int (1)> str ('A')> str ('1')
A == C: float (1)> str ('a')> str ('1')
A == C: float (1)> str ('A')> str ('1')
A == C: str ('a')> str ('1')> int (0)
A == C: str ('a')> str ('1')> float (0)
A == C: str ('')> float (-INF)> NULL (NULL)
A == C: str ('')> float (-INF)> bool (sai)
A == C: str ('')> int (-1)> NULL (NULL)
A == C: str ('')> int (-1)> bool (sai)
A == C: str ('')> float (-1)> NULL (NULL)
A == C: str ('')> float (-1)> bool (sai)
A == C: mảng ()> float (NAN)> NULL (NULL)
A == C: mảng ()> float (NAN)> bool (false)
A == C: mảng ()> float (INF)> NULL (NULL)
A == C: mảng ()> float (INF)> bool (false)
A == C: mảng ()> float (-INF)> NULL (NULL)
A == C: mảng ()> float (-INF)> bool (false)
A == C: mảng ()> str ('a')> NULL (NULL)
A == C: mảng ()> str ('a')> bool (sai)
A == C: mảng ()> int (1)> NULL (NULL)
A == C: mảng ()> int (1)> bool (sai)
A == C: mảng ()> float (1)> NULL (NULL)
A == C: mảng ()> float (1)> bool (false)
A == C: mảng ()> str ('1')> NULL (NULL)
A == C: mảng ()> str ('1')> bool (sai)
A == C: mảng ()> str ('A')> NULL (NULL)
A == C: mảng ()> str ('A')> bool (sai)
A == C: mảng ()> str ('0')> NULL (NULL)
A == C: mảng ()> int (-1)> NULL (NULL)
A == C: mảng ()> int (-1)> bool (sai)
A == C: mảng ()> float (-1)> NULL (NULL)
A == C: mảng ()> float (-1)> bool (false)
A == C: str ('')> float (NAN)> bool (sai)
A == C: str ('')> float (NAN)> NULL (NULL)
A == C: str ('A')> str ('1')> int (0)
A == C: str ('A')> str ('1')> float (0)
A == C: int (0)> float (-INF)> NULL (NULL)
A == C: int (0)> float (-INF)> bool (sai)
A == C: int (0)> int (-1)> NULL (NULL)
A == C: int (0)> int (-1)> bool (sai)
A == C: int (0)> float (-1)> NULL (NULL)
A == C: int (0)> float (-1)> bool (sai)
A == C: str ('0')> float (NAN)> bool (sai)
A == C: str ('0')> float (-INF)> bool (sai)
A == C: str ('0')> int (-1)> bool (sai)
A == C: str ('0')> float (-1)> bool (sai)
A == C: float (0)> float (-INF)> NULL (NULL)
A == C: float (0)> float (-INF)> bool (sai)
A == C: float (0)> int (-1)> NULL (NULL)
A == C: float (0)> int (-1)> bool (sai)
A == C: float (0)> float (-1)> NULL (NULL)
A == C: float (0)> float (-1)> bool (sai)
A === C: str ('0')> float (NAN)> str ('0')
A === C: str ('')> float (NAN)> str ('')
A === C: str ('a')> float (NAN)> str ('a')
A === C: str ('1')> float (NAN)> str ('1')
A === C: str ('A')> float (NAN)> str ('A')
So sánh chuỗi thú vị: 'Nữ hoàng' >'Vua' >'Jack' >'Ace'
Ngoài ra kiểm tra các bảng so sánh kiểu PHP bao gồm các cặp:
- isset()và- is_null()
- if()và- empty()
- boolean ==vs.===
Kiểm tra sự khác biệt giữa các phiên bản PHP trực tiếp tại. http://3v4l.org/MAfDu .
               
              
($a > $b) !== ($b < $a)?