Hi Markus,
> On 16 Dec 2014, at 10:31, Markus Fischer <[email protected]> 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