Edit report at http://bugs.php.net/bug.php?id=53183&edit=1
ID: 53183 Updated by: cataphr...@php.net Reported by: dvdm80 at gmail dot com Summary: Accessing an ArrayAccess item directly -Status: Open +Status: Bogus Type: Bug Package: Arrays related Operating System: Windows PHP Version: 5.3.3 Block user comment: N New Comment: Thanks for your report, but this is most likely a bug in the solr extension, not PHP. PECL bugs (i.e. bugs of packages in PECL, as opposed to bugs in extensions bundled with PHP) should be reported at http://pecl.php.net/, in particular for the solr extension would be http://pecl.php.net/bugs/report.php?package=solr Previous Comments: ------------------------------------------------------------------------ [2010-10-27 15:43:27] dvdm80 at gmail dot com More info here: http://stackoverflow.com/questions/4033398/accessing-an-arrayaccess-item-directly ------------------------------------------------------------------------ [2010-10-27 15:42:18] dvdm80 at gmail dot com Description: ------------ I'm trying to get an item of an array by its key. The array is in fact a SolrObject, which implements ArrayAccess, so I understand that I can access its items as I would in an array. This object is retrieved by the getResponse() method of the SolrQueryResponse class (php.net/manual/en/solrresponse.getresponse.php). This is the structure of my $myobject: SolrObject Object ( [116809] => SolrObject Object ( [title] => Array ( [0] => First value ) [description] => Array ( [0] => Second value ) ) [591978] => SolrObject Object ( [title] => Array ( [0] => Third value ) [description] => Array ( [0] => Forth value ) ) ) So, if I try var_dump($myobject[116809]); I get NULL. But if I try echo array_key_exists(116809, $myobject); I get 1 If I try to iterate $myobject with a foreach, I can access its elements correctly. Why can't I access directly one element by its key? EDIT: Answering to @ircmaxell, this is the var_dump: object(SolrObject)#219 (50) { [116809]=> object(SolrObject)#220 (2) { ["title"]=> array(1) { [0]=> string(43) "First value" } ["description"]=> array(1) { [0]=> string(82) "Second value" } } [591978]=> object(SolrObject)#221 (2) { ["title"]=> array(1) { [0]=> string(104) "Third value" } ["description"]=> array(1) { [0]=> string(95) "Fourth value" } } } And this is the result of var_dump($myobject->getPropertyNames()); array(2) { [0]=> string(0) "" [1]=> string(0) "" } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53183&edit=1