2009-08-19 21 views
12

vidiCosa significa! == operatore di confronto in PHP?

if($output !== false){ 
} 

Si tratta di un punto esclamativo con due fa segni.

Funziona quasi come non uguale. Ha qualche significato in più?

+0

vedere http://stackoverflow.com/questions/80646/how-do-the-equality-and-identity-comparison-operators-differ – VolkerK

+0

e http://stackoverflow.com/questions/1139154/is-there -a-differenza-tra-e-in-php – VolkerK

+0

possibile duplicato di [Riferimento - Cosa significa questo simbolo in PHP?] (http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol php -mean-in-) – kapa

risposta

31

Sono gli operatori di uguaglianza rigorosa (===,! ==), i due operandi devono avere lo stesso tipo e valore in modo che il risultato sia vero.

Ad esempio:

var_dump(0 == "0"); // true 
var_dump("1" == "01"); // true 
var_dump("1" == true); // true 

var_dump(0 === "0"); // false 
var_dump("1" === "01"); // false 
var_dump("1" === true); // false 

Maggiori informazioni:

5

di PHP === Operatore permette di confrontare o variabili di prova sia per l'uguaglianza e tipo.

Così! == è (non ===)

2

sì, controlla anche che i due valori sono dello stesso tipo. Se $ output è 0, allora! == restituirà false, perché non sono entrambi numeri o booleani.

4

!== controlla il tipo della variabile e il valore. Così, per esempio,

$a = 1; 
$b = '1'; 
if ($a != $b) echo 'hello'; 
if ($a !== $b) echo 'world'; 

uscita sarà solo 'mondo', come $a è un intero e $b è una stringa.

Si consiglia di controllare la pagina di manuale su PHP operators, ha alcune buone spiegazioni.