Comparaison de types en PHP
Bien que PHP soit un langage à typage faible, il reste nécessaire de comprendre les types de variables et leur signification, car nous devons souvent comparer des variables PHP, y compris les comparaisons lâches et strictes.
- Comparaison lâche : utilisez deux signes égaux==Lors de la comparaison, seules les valeurs sont comparées, pas les types.
- Comparaison stricte : utilisez trois signes égaux===Lors de la comparaison, en plus de comparer les valeurs, les types sont également comparés.
Par exemple, "42" est une chaîne tandis que 42 est un entier.FALSEest une valeur booléenne et"FALSE"est une chaîne.
Exemple
if(42 == "42") {
echo '1. Valeurs égales';
}
echo PHP_EOL; //Caractère de nouvelle ligne
if(42 === "42") {
echo '2. Types égaux';
} else {
echo '3. Les types ne sont pas égaux';
}
La sortie de l'exemple ci-dessus est :
1、值相等 3、类型不相等
Comparer 0, false, null en PHP
Code de test :
Exemple
echo '0 == false: ';
var_dump(0 == false);
echo '0 === false: ';
var_dump(0 === false);
echo PHP_EOL;
echo '0 == null: ';
var_dump(0 == null);
echo '0 === null: ';
var_dump(0 === null);
echo PHP_EOL;
echo 'false == null: ';
var_dump(false == null);
echo 'false === null: ';
var_dump(false === null);
echo PHP_EOL;
echo '"0" == false: ';
var_dump("0" == false);
echo '"0" === false: ';
var_dump("0" === false);
echo PHP_EOL;
echo '"0" == null: ';
var_dump("0" == null);
echo '"0" === null: ';
var_dump("0" === null);
echo PHP_EOL;
echo '"" == false: ';
var_dump("" == false);
echo '"" === false: ';
var_dump("" === false);
echo PHP_EOL;
echo '"" == null: ';
var_dump("" == null);
echo '"" === null: ';
var_dump("" === null);
La sortie de l'exemple ci-dessus est :
0 == false: bool(true) 0 === false: bool(false) 0 == null: bool(true) 0 === null: bool(false) false == null: bool(true) false === null: bool(false) "0" == false: bool(true) "0" === false: bool(false) "0" == null: bool(false) "0" === null: bool(false) "" == false: bool(true) "" === false: bool(false) "" == null: bool(true) "" === null: bool(false)

