2015-02-04 2 views
0

Существует объект из XML, я пытаюсь получить атрибуты для каждого элемента:Как получить атрибуты из объекта php?

  • Код
  • String (значение)

Я пытался получить код атрибут из $ cbr_xml- > Конечно [0]:

foreach($cbr_xml->course[0] as $key => $currency){ 
     var_dump($currency['code'][$key]); // get 
} 

объект после того, как var_dump($currency); в цикле:

object(SimpleXMLElement)#321 (2) { 
    ["@attributes"]=> 
    array(1) { 
    ["code"]=> 
    string(3) "USD" 
    } 
    [0]=> 
    string(7) "11.1000" 
} 
object(SimpleXMLElement)#324 (2) { 
    ["@attributes"]=> 
    array(1) { 
    ["code"]=> 
    string(3) "EUR" 
    } 
    [0]=> 
    string(7) "12.5763" 
} 
+0

'$ валюты [ 'код'] 'является строкой, поэтому' $ валюта [ 'код'] [$ ключ] 'возвращает символ в этой строке, вероятно, не то, что вы хотите. –

ответ

0

Вы можете получить атрибуты со следующим кодом:

foreach($cbr_xml->course[0] as $single_element){ 
    foreach($single_element->attributes() as $attr_key=>$attr_value) { 
    if($attr_key=='code') { echo $attr_value; } 
    } 
} 
+0

Спасибо, как получить также 'string (7)" 12.5763 "'? – FranceDePerost

0

Вы должны получить доступ к @attributes

так:

$currency->attributes()['code']

0

Just используйте разыменование массива:

echo $currency['code']; 
Смежные вопросы