On 24 Sep 2014, at 13:24, Johannes Schlüter <[email protected]> wrote:
> Taking this sample code:::
>
> <?php
> class C {
> function __toString() {
> return "C";
> }
> }
>
> $a = [];
>
> $c1 = new C();
> $c2 = new C();
>
> $a[$c1] = 23;
> $a[$c2] = 42;
> ?>
>
> There the assumption would be that this leads to an array $a with two
> elements, where in fact there is only one if __toString() is being
> called. The only thing "making sense" would be using using the objects
> identity (i.e. via spl_object_hash()) everything else leads to issues.
I’m not sure this is a fair example. Don’t classes usually implement a
`__toString()` that is based on the data they contain? If they don’t, I’m not
sure they’re useful for indexing anyway.
--
Andrea Faulds
http://ajf.me/
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php