gpt4 book ai didi

php - 如何以不同方式动态访问数组对象

转载 作者:行者123 更新时间:2023-12-04 20:57:30 25 4
gpt4 key购买 nike

我正在将一个 xml 文档解析为数组..我如何访问这些数组对象并将它们保存在新变量中..?这是一段正在解析的 PHP 代码

$contents = file_get_contents('test.xml');
$xml = simplexml_load_string($contents);
print_r($xml);

这是正在解析的xml

<?xml version='1.0'?>
<document>
<txtmsg>
<smstel>1234567</smstel>
<smstxt></smstxt>
<smsdir>Send</smsdir>
<smstime>06/01/2010 7:54:48 am</smstime>
</txtmsg>
<txtmsg>
<smstel>33333333</smstel>
<smstxt>Test sms hhTes12222222</smstxt>
<smsdir>Send</smsdir>
<smstime>06/01/2010 7:54:48 am</smstime>
</txtmsg>

<Contacts>
<conttime>06/01/2010 8:19:05 am</conttime>
<cnt>
<fn>Abc</fn>
<ln>Def</ln>
<cnttel>123456</cnttel>
<cntmtel>3333333</cntmtel>
<cntemail>abc@hotmail.com</cntemail>
</cnt>
<cnt>
<fn>def</fn>
<ln>ghi</ln>
<cnttel>234234</cnttel>
<cntmtel>2424</cntmtel>
<cntemail>df@hotmail.com</cntemail>
</cnt>
</Contacts>
</document>

这是输出。

SimpleXMLElement Object ( [txtmsg] => Array ( [0] => SimpleXMLElement Object ( [smstel] => 1234567 [smstxt] => SimpleXMLElement Object ( ) [smsdir] => Send [smstime] => 06/01/2010 7:54:48 am ) [1] => SimpleXMLElement Object ( [smstel] => 33333333 [smstxt] => Test sms hhTes12222222 [smsdir] => Send [smstime] => 06/01/2010 7:54:48 am ) ) [Contacts] => SimpleXMLElement Object ( [conttime] => 06/01/2010 8:19:05 am [cnt] => Array ( [0] => SimpleXMLElement Object ( [fn] => Abc [ln] => Def [cnttel] => 123456 [cntmtel] => 3333333 [cntemail] => abc@hotmail.com ) [1] => SimpleXMLElement Object ( [fn] => def [ln] => ghi [cnttel] => 234234 [cntmtel] => 2424 [cntemail] => df@hotmail.com ) ) ) ) 

我如何单独访问 xml 的每个元素.. 如 smstel、smstxt、smsdir 等

最佳答案

也许我过度简化了它,但是一个循环

foreach($xml->txtmsg as $txtmsg) {
echo $txtmsg->smstel;
echo $txtmsg->smstxt;
// more elements...
}

注意:使用 XML 时,了解架构会有所帮助。这意味着上面的示例特定于您提到的那些元素。尽管如此,它应该可以帮助您入门。

关于php - 如何以不同方式动态访问数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9804612/

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