1
我這個XML的結構:的SimpleXML元素只提取第一個元素,但我需要的所有元素
<response status="success">
<campaign>
<id>1</id>
<nameCampaign>Raccolta Punti CCN</nameCampaign>
<type>points</type>
<balances>
<balance>10.00 </balance>
</balances>
</campaign>
<campaign>
<id>6</id>
<nameCampaign>Abbonamenti</nameCampaign>
<type>subscription</type>
<balances>
<balance>6.00 Lampada solare</balance>
</balances>
<balances>
<balance>4.00 doccia solare</balance>
</balances>
<balances>
<balance>3.00 trifacciale</balance>
</balances>
</campaign>
</response>
而且我需要數組轉換。
如果我使用
foreach($result->campaign as $bilancio) {
$balance[] = array ( 'nameCampaign' => (string)$bilancio->nameCampaign,
'balances' => (string)$bilancio->balances->balance );
} // foreach
我得到這個數組
Array
(
[0] => Array
(
[nameCampaign] => Raccolta Punti CCN
[balances] => 10.00
)
[1] => Array
(
[nameCampaign] => Abbonamenti
[balances] => 6.00 Lampada solare
)
)
你怎麼會注意到,ID 6有三個子節點(balances->平衡),而不是唯一的一個。我如何獲得一個完整的數組?
謝謝大家,祝你週末愉快!
非常感謝您! – sineverba
@Dale:我編輯了你的答案,'count()'是多餘的。 「foreach」可以做零,一個或多個元素。這是迭代的好處,不需要預先計數。 – hakre
@hakre,不知道那個歡呼的傢伙 – Dale