array(2) [ 0-6ren">
gpt4 book ai didi

php - 以数组形式访问 SimpleXMLElement 子元素

转载 作者:行者123 更新时间:2023-12-02 15:34:45 27 4
gpt4 key购买 nike

如何访问作为数组的 SimpleXMLElement 子项?

SimpleXMLElement(9) {
name => "John" (11)
phone => array(2) [
0 => "556 221 000" (19)
1 => "312 555 110" (19)
]
}

根据这篇文章http://www.sitepoint.com/parsing-xml-with-simplexml/我应该通过

轻松访问它
$sxElement->phone[0];

但是 dump 只返回:

SimpleXMLElement(0)

我需要在 for 循环中访问它。谢谢。

编辑(XML 示例):

<company>
<phonebook>
<name>John</name>
<phone>556 221 000</phone>
<phone>312 555 110</phone>
</phonebook>
</company>

我需要在另一个对象上遍历我的 foreach 并根据迭代器值附加正确的手机。

最佳答案

您必须将数据转换为数组,所以试试这个(它对我有用)。

$el = new SimpleXMLElement(
'<company>
<phonebook>
<name>John</name>
<phone>556 221 000</phone>
<phone>312 555 110</phone>
</phonebook>
</company>'
);

$array = (array) $el->phonebook->phone;

它的输出是一个准备好操作的数组

Array
(
[0] => 556 221 000
[1] => 312 555 110
)

另一种获取 key 的方法。

foreach($sxElement->phone as $i => $value) {
echo "{$i} : {$value}" . PHP_EOL;
}

虽然这个不能被外层循环访问。

关于php - 以数组形式访问 SimpleXMLElement 子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19837462/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com