Object comparison
| From: | Sara Golemon | Date: | Fri, 09 Nov 2012 00:07:24 +0000 |
| Subject: | Object comparison | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-63785@lists.php.net to get a copy of this message | ||
From: http://php.net/manual/en/language.operators.comparison.php
An object compared to anything which is not a bool, null, or object
should result in the object appearing to be greater than the other
operand. For example:
$a = new stdClass();
$b = new stdClass();
var_dump(null < $a);
var_dump(false < $a);
var_dump(true == $a);
var_dump($a == $b);
var_dump(0 < $a);
var_dump(1 < $a); // false
var_dump(2 < $a); // false
var_dump("foo" < $a);
var_dump("2" < $a);
var_dump(tmpfile() < $a);
Based on docs, I expect all nine of these to yield true, however in
practice, the two marked "false" come out as false because the RHS
object is converted to an integer (1), contrary to the docs.
Doc bug? Or code bug? I'm inclined to call it a code bug, but wanted
others' thoughts.
-Sara