Doğrudan ArrayAccess öğeyi Erişme

0 Cevap

Ben kendi anahtarıyla bir dizinin bir öğeyi almak için çalışıyorum. Dizi aslında ArrayAccess uygulayan bir SolrObject, olduğunu, bu yüzden ben bir dizide olduğu gibi ben onun öğeleri erişebilirsiniz anlıyorum.

Bu benim $ myObject yapısı:

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
        )
    )
)

Yani, eğer denemek

var_dump($myobject[116809]);

Ben null olsun.

Ama çalışırsanız

echo array_key_exists(116809, $myobject);

Ben olsun 1

Ben bir foreach $ ile myObject yinelemek için çalışırsanız, ben doğru unsurları erişebilirsiniz.

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"
    }
  }
}

Bu var_dump ($ myObject-> getPropertyNames ()) bir sonucudur;

array(2) {
  [0]=>
  string(0) ""
  [1]=>
  string(0) ""
}

0 Cevap