RE: [PHP-DEV] Object comparison
| From: | Christian Stoller | Date: | Fri, 09 Nov 2012 13:18:04 +0000 |
| Subject: | RE: [PHP-DEV] Object comparison | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-63793@lists.php.net to get a copy of this message | ||
I would like to place a suggestion for comparing objects (I hope it is no problem, because this does
not have anything to do with Sara's question - but it came to my mind when I read her mail). It
would be a great feature if objects could be compared to other objects with ">",
"<" and the other operators, like it is suggested in RFC https://wiki.php.net/rfc/comparable
The DateTime class offers this feature - it would be nice if this could be made usable for userland
classes/objects, too.
Best regards
Christian Stoller
-----Original Message-----
From: php@golemon.com [mailto:php@golemon.com] On Behalf Of Sara Golemon
Sent: Friday, November 09, 2012 1:07 AM
To: PHP internals
Subject: [PHP-DEV] Object comparison
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
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php