一般來說,有以下規則
如果比較乙個數字和字串或者比較涉及到數字內容的字串,則字串會被轉換為數值並且比較按照數值來進行。但當用 === 或 !== 進行比較時則不進行型別轉換,因為此時型別和數值都要比對。
例如:
<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true
關於不同型別比較之中的型別轉換
提供一種陣列比較的思路:
* 比較陣列元素個數
* 若元素個數相同,則比較鍵名。如果陣列1中的鍵名陣列2中沒有,則無法比較,返回null
* 如果陣列2中存在相同鍵名,則比較值大小
該方法中沒有處理鍵名順序問題,可能導致不同結果。[建議先對陣列元素按鍵名排序]
<?php
// 陣列是用標準比較運算子這樣比較的
function
standard_array_compare
($op1, $op2)
elseif (count($op1) > count($op2))
foreach ($op1
as$key => $val) elseif ($val
< $op2[$key]) elseif ($val > $op2[$key])
}return
0; // $op1 == $op2
}
php 比較運算子
摘自 例子名稱結果 a b 等於true,如果 a 等於 b。a b 全等true,如果 a 等於 b,並且它們的型別也相同。php 4 引進 a b 不等true,如果 a 不等於 b。a b 不等true,如果 a 不等於 b。a b 非全等true,如果 a 不等於 b,或者它們的型別不同。p...
php中的比較,PHP比較運算子的詳細介紹
運算子是告訴編譯程式執行特定算術或邏輯操作的符號,通常與運算元一起構成乙個表示式,我們經常看到它會參與數 算或邏輯運算。php也包涵了很多的運算子,這篇文章詳細解讀一下其中很重要的比較運算子。比較運算子種類 如同它們名稱所暗示的,允許對兩個值進行比較。比較運算子有如下幾個 1 a b 大於 如果 a...
mysql運算子,比較運算子
我也是菜鳥,也是新手,一起學習,一起進步,加油 首先 比較運算子,進行比較之後的 結果如果為真 返回1,結果為假 返回 0 一下為常用的,最基礎的一些沒有列出來 或 不等於 null 的安全等於 null safe between 存在於指定範圍 in存在於指定集合 is null 為 null i...