2010-07-16 3 views
0

Это мой массив:Получить значение ключа из ArrayObject

ArrayObject::__set_state(
    array('data' => 
     array ( 
      'key1' => '573779', 
      'key2' => 'REF12345', 
      'key3' => '2010-07-12', 
      'key4' => '0000-00-00', 
      'key5' => '2010-07-12', 
      'key6' => '21654', 
      'key7' => '0', 
      'key8' => ArrayObject::__set_state(array()), 
      'key9' => ArrayObject::__set_state(array()), 
      'key10' => array (), 
      'key11' => array (), 
     ) 
) 

Я интересно узнать, как получить какой-либо из значений ключа с помощью SPL. Любой из ключей может иметь массивы в массивах, поэтому я не уверен, как получить значение. Я думал, что смогу использовать ->offsetGet(''), но это только извлекает из самого верхнего массива.

+0

Если ключ содержит массив, вы должны быть в состоянии для доступа к любому конкретному участнику этого подмассива? Кроме того, это много ключей. – rownage

+0

Приведите пример того, что вы пытаетесь сделать, даже если он в настоящее время не работает. – salathe

+0

Да, я, возможно, должен иметь доступ к массиву ключа –

ответ

2

ArrayObject инвентарь ArrayAccess, поэтому вы можете просто получить к ним доступ с помощью регулярной нотации массива, например.

echo $arrayObject['key1']; 

Кроме того, ArrayObjects являются IteratorAggregates, так что вы можете перемещаться по ним с foreach и украсить их с любым из SPL iterators, в том числе RecursiveIteratorIterator

Смежные вопросы