Получить значение константы внутри класса динамически - PullRequest
0 голосов
/ 06 января 2012

Я использую SimpleXML для разбора XML API.

API возвращает несколько дочерних элементов, например:

 ...
 <Rank0>Something</Rank0>
 <Rank1>Something</Rank1>
 <Rank2>Something</Rank2>
 ...

Например, когда я могу получить доступ к <Rank1>, я могу сделать следующее:

$response->Result->Rank1;

Однако мне нужно циклически просматривать эти значения. В псевдокоде что-то вроде этого:

foreach($response->Result>Rank*){
    echo "looping through rank" . $number;
    echo "value is" . $value;
}

Как мне это сделать?

Спасибо за любую помощь заранее.

1 Ответ

1 голос
/ 06 января 2012

Использование SimpleXMLElement::children():

foreach($response->Result->children() as $child_node)
{
    // do something with $child_node
}

Если вам нужно убедиться, что имя узла имеет форму «Имя» + число , вы можете добавить условие в свой цикл следующим образом:

if(preg_match('/^Rank\d+$/', $child_node->getName()))
{

}
...