Hi Markus,

> On 16 Dec 2014, at 10:31, Markus Fischer <mar...@fischer.name> wrote:
> 
> On 16.12.14 09:34, Stanislav Malyshev wrote:
>> I'd like to initiate a vote on "objects as keys" RFC:
>> https://wiki.php.net/rfc/objkey
> 
> Am I right this only covers the transformation into the array. Once it's
> in it's essential a array compatible key entity (string/integer) so when
> you var_dump($array) you only get the values of a hash.
> 
> In other words: it would not be possible to actually get the object from
> the key, just this string/integer which is supposed to reference it?

Exactly. If I were to do this:

    <?php
    class Foo {
        public $foo;
        function __construct($foo) {
            $this->foo = $foo;
        }
        function __toKey() {
            return $this->foo;
        }
    }
    $arr = [];
    $arr[] = new Foo(1);
    var_dump($arr);

I would get this:

    array(1) {
      [0]=>
      int(1)
    }

This is the main problem with the RFC: magic, implicit, one-way data loss 
(object to integer/string).

I was previously in favour of this, but it’d prevent actual indexing by objects 
in future, and I can’t think of any use cases which aren’t better solved by 
explicitly converting to a string/integer.

Thanks.
--
Andrea Faulds
http://ajf.me/





--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to