PHP xml转换成数组 20

XML中的内容为:<?xmlversion="1.0"encoding="utf-8"?><xml><list>1</list><list>2</list><list>3... XML中的内容为:
<?xml version="1.0" encoding="utf-8"?>
<xml>
<list>1</list>
<list>2</list>
<list>3</list>
</xml>

PHP代码:
<?php
$s=join("",file('test.xml'));
$result = xml_to_array($s);

function xml_to_array($xml)
{
$array = (array)(simplexml_load_string($xml));
foreach ($array as $key=>$item){
$array[$key] = struct_to_array((array)$item);
}
return $array;
}
function struct_to_array($item) {
if(!is_string($item)) {
$item = (array)$item;
foreach ($item as $key=>$val){
$item[$key] = struct_to_array($val);
}
}
return $item;
}
print_r($result);
?>

打印出的内容为:Array ( [list] => Array ( [0] => 1 [1] => 2 [2] => 3 ) )

如何才能打印出:Array ( [0] => 1 [1] => 2 [2] => 3 ),这种形式的,我是想要这样的一个数组:array('1','2','3')

谢谢!
展开
 我来答
AldenChoy
2016-09-28 · TA获得超过4228个赞
知道小有建树答主
回答量:818
采纳率:92%
帮助的人:235万
展开全部
xml转array方法没错,只是xml中有三个<list>,而数组中却不能出现三个$arr['list'],所以这个方法自动把三个<list>中的内容放进了一个二维数组中。
可以尝试直接取$arr['list'],取出结果应该就是 Array ( [0] => 1 [1] => 2 [2] => 3 ) 了。
追问
谢谢,问题已经解决了!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式