Re: Internal casting of objects as array keys

From: Date: Tue, 25 May 2004 13:03:15 +0000
Subject: Re: Internal casting of objects as array keys
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-10087@lists.php.net to get a copy of this message
I'm going to go ahead and post this as a bug, unless there is a reason noone replied... "Aidan Lister" <aidan@php.net> wrote in message news:20040522064028.3397.qmail@pb1.pair.com... > Hello devs, > > I'd like to discuss the use of objects as array keys. > > <?php > class idobject { > private $_id; > function __construct ($id) { $this->_id = $id; } > function __tostring () { return (int)$this->_id; } > } > > $blah1 = new idobject(1); > $blah2 = new idobject(2); > $blah3 = new idobject(3); > $blah4 = new idobject(4); > > $array = array ( > $blah1 => 'blah1', > $blah2 => 'blah2', > $blah3 => 'blah3', > $blah4 => 'blah4', > ); > > echo "<pre>"; > var_dump($array); > echo "</pre>"; > ?> > > In PHP4 this results in an error, > In PHP5 there is no error, the array is simply empty. > > An array key can only be a string/int, thus, when someone attempts to use an > array as a key would it not make sense to cast the object? > > This behaviour would then be consistant with resources. > > Regards, > Aidan

« previous php.internals (#10087) next »