Possible Duplicate:
Why does PHP consider 0 to be equal to a string?
I have this piece of code:
$o['group'] = "prueba";
if( $o['group'] == 0){
die("test");
}
Why it print test? how can be possible that a string is equal to zero?
Possible Duplicate:
Why does PHP consider 0 to be equal to a string?
I have this piece of code:
$o['group'] = "prueba";
if( $o['group'] == 0){
die("test");
}
Why it print test? how can be possible that a string is equal to zero?
if you want it to exactly match the string try using the exact typof three equal signs like so
if( $o['group'] === 0){
the ==
will always evaluate to true when comparing a string to a integer of 0
'a string' == 0 also evaluates to true because any string is converted into an integer when compared with an integer. If PHP can't properly convert the string then it is evaluated as 0. So 0 is equal to 0, which equates as true.
From here
Use comparison operator with type check "===". Look here for the example http://php.net/manual/en/language.operators.comparison.php and explanation why non-numerical string compared to zero always returns true
.