|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2010-10-27 15:43 UTC] dvdm80 at gmail dot com
[2010-10-27 16:05 UTC] cataphract@php.net
-Status: Open
+Status: Bogus
[2010-10-27 16:05 UTC] cataphract@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Nov 02 03:00:01 2025 UTC |
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) "" }