As far as I can see, and I'm sure someone will be kind enough to correct me
if I'm wrong, but there is no current behaviour for it, it returns a
warning.

$a = new stdClass;
$b[$a] = 0;

Warning: Illegal offset type in t3.php on line 2

And results in an empty array (in this case) so it does nothing.

-bok

On 6/5/06, Richard Lynch <[EMAIL PROTECTED]> wrote:

On Sat, June 3, 2006 6:42 am, Marcus Boerger wrote:
>   the attached patch closes one more __toString() part. It allows
> to use objects that define __toString as indexes to arrays. What do
> you guys think about this, should we add it or stay with the old
> behavior that didn't allow objects as indexes at all.

I use objects rarely, and am not sure I care all that much, but...

Seems to me that there is a REALLY good chance that there ARE scripts
"out there" that rely on current behaviour of:

$a = new Foo();
$arr[$a] = 42;

Never mind that that's a really dumb thing to have -- Somebody is
relying on it doing whatever it does...

Whether that is erroring out or just turning all objects into ""
doesn't matter.  Somebody relies on it doing the same thing it always
did.

Don't break that, please, in 5.2 -- Do whatever you want in 6.0 on that.

This all seems like much ado about nothing to me.  Anybody brainy
enough to NEED their objects as array indices can probably manage to
write a function to uniquely identify their/all objects.

Sorry if my votes aren't fitting into the schema of voting...  I kinda
got glassy-eyed with this whole thread, to tell the truth.

--
Like Music?
http://l-i-e.com/artists.htm

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




--
Xnyo - http://xnyo.odynia.org/

Reply via email to