比較演算子

比較演算子は、その名前が示すように、二つの値を比較します。

表 15-4. 比較演算子

名前結果
$a == $b等しい$a が $b に等しい時にTRUE
$a === $b等しい$a が $b に等しく同じ型でである場合に TRUE。(PHP 4で導入)
$a != $b等しくない$a が $b に等しくない場合にTRUE
$a <> $b等しくない$aが$bに等しくない場合にTRUE
$a !== $b等しくない $a が $b と等しくないか、同じ型でない場合に TRUE。(PHP 4で導入)
$a < $bより少ない$a が $b より少ない時にTRUE
$a > $bより多い$a が $b より多い時にTRUE
$a <= $bより少ないか等しい$a が $b より少ないか等しい時にTRUE
$a >= $bより多いか等しい$a が $b より多いか等しい時にTRUE

If you compare an integer with a string, the string is converted to a number. If you compare two numerical strings, they are compared as integers. These rules also apply to the switch statement.

<?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;
}
?>

条件演算子としては、他に "?:"演算子(または三項演算子)があります。 この演算子の動作は、Cまたは他の多く言語と同じです。

<?php
// 三項演算子の使用例
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// 上記は以下のif/else式と同じです。
if (empty($_POST['action'])) {
    
$action = 'default';
} else {
    
$action = $_POST['action'];
}
?>

(expr1) ? (expr2) : (expr3) という式は、式1TRUEの場合に 式2 を、 式1FALSEの場合に 式3 を値とします。

strcasecmp(), strcmp()配列演算子, マニュアルの のセクションも参照してください。