Как получить атрибуты из объекта php?

0

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

  • Код
  • Строковое значение)

Я попытался получить атрибут кода из $cbr_xml-> course [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
    $currency['code'] является строкой, поэтому $currency['code'][$key] вернет символ в этой строке, вероятно, не тот, который вы хотите.
Теги:
object
arrays

3 ответа

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" ?
0

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

как это:

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

0

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

echo $currency['code'];

Ещё вопросы

Сообщество Overcoder
Наверх
Меню