1. 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,或它們的型別不同。 (PHP 4 only)
$a < $b 小與 TRUE,如果 $a 嚴格小於 $b。
$a > $b 大於 TRUE,如果 $a 嚴格 $b。
$a <= $b 小於等於 TRUE,如果 $a 小於或等於 $b。
$a >= $b 大於等於 TRUE,如果 $a 大於或等於 $b。
如果PHP比較運算子比較一個整數和字串,則字串會被轉換為整數。如果比較兩個數字字串,則作為整數比較。此規則也適用於 switch 語句。
<?php var_dump(0 == "a"); // 0 == 0 -> true var_dump("1" == "01"); // 1 == 1 -> true switch ("a") { case 0: echo "0"; break; case "a": // never reached because "a" is already matched with 0 echo "a"; break; } ?>
如果運算數的類型不同,則根據下表比較(按順序)。
2. PHP比較運算子比較不同型別
null 或string string 將NULL 轉換為"",進行數字或字彙比較
bool 或null 任何其它型別轉換為bool, FALSE < TRUE
object object 內建類別可以定義自己的比較,不同類別不能比較,相同類別和陣列同樣方式比較屬性(PHP 4 中),PHP 5 有自己的說明
string ,resource 或number string,resource 或number 將字串和資源轉換成數字,按普通數學比較
array array 具有較少成員的數組較小,如果運算數1 中的鍵不存在於運算數2 中則數組無法比較,否則挨個值比較
array 任何其它類型array 總是更大
object 任何其它類型object 總是更大
<?php // 数组是用标准比较运算符这样比较的 function standard_array_compare($op1, $op2) { if (count($op1) < count($op2)) { return -1; // $op1 < $op2 } elseif (count($op1) > count($op2)) { return 1; // $op1 > $op2 } foreach ($op1 as $key => $val) { if (!array_key_exists($key, $op2)) { return null; // uncomparable } elseif ($val < $op2[$key]) { return -1; } elseif ($val > $op2[$key]) { return 1; } } return 0; // $op1 == $op2 } ?>
PHP比較運算符之三元運算符號
另一個條件運算子是「?:」(或三元)運算子。
<?php // Example usage for: Ternary Operator $action = (empty($_POST['action'])) ? 'default' : $_POST['action']; // The above is identical to this if/else statement if (empty($_POST['action'])) { $action = 'default'; } else { $action = $_POST['action']; } ?>
表達式 (expr1) ? (expr2) : (expr3) 在 expr1 求值為 TRUE 時的值為 expr2,在 expr1 求值為 FALSE 時的值為 expr3。
註: 注意三元運算子是個語句,因此其求值不是變量,而是語句的結果。如果想透過引用回傳一個變數這點就很重要。在一個透過引用傳回的函數中語句 return $var == 42 ? $a : $b; 將不起作用,以後的 PHP 版本會為此發出警告。
識別運算子實作邏輯比較
a.多條直接為或的關係(使用者輸入)
time>12 time=9
b.單條並的關係(使用者輸入)
time>12&&time<25
c.可用比較運算子(>、<、<=、=、!=)
d.要求比較的物件卸載前邊。
以上是php比較運算子怎麼用來比較不同的類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!