后端开发|php教程
nbsp,name,gt,array,lt
后端开发-php教程
php解析xml到二维数组问题,求大神指导
j2me 游戏 源码,vscode怎么添加调试变量,ubuntu 14主题,tomcat热加载教程,sqlite储存图片,PS网页设计总结,云服务器ecs绑定域名,jedate插件下载,前端思考框架,乐高慢爬虫,php tidy,seo入门教程视频,springboot事物面试,企业网站制作免费下载,图片在网页上下移动,体育公司简介模板,web 后台管理模板,css页面滚动到顶部,tp cms内容管理系统,用户界面模块程序lzw
本帖最后由 community147 于 -08-28 21:10:54 编辑
php在线考试系统附源码(一),ubuntu怎么打开vtk,python爬虫总结反思,$this php,湖北整站seolzw
源码企业,ubuntu系统设置背景,爬虫统计游戏掉落,php 插件功能,辽宁seo培训lzw
<?php
array(
array(“name”=>”haha1”,id=1,pid=0),
array(“name”=>”haha2”,id=2,pid=0),
array(“name”=>”haha2,1”,id=3,pid=2),
array(“name”=>”haha2,2”,id=4,pid=2),
array(“name”=>”haha3”,id=5,pid=0),
array(“name”=>”haha3,1”,id=6,pid=5),
array(“name”=>”haha3.2”,id=7,pid=5),
)
?>
把最上面的xml代码转换成下面php数组
下面是我写的代码,转换时候pid不对劲,我怎么调试都不行,还请指导
$xml = simplexml_load_file(“hh.xml”);
$arr = json_decode(json_encode($xml),TRUE);
print_r(arrto2($arr[‘hh’]));
function arrto2($arr,$pid=0){
static $i=1;
static $data=array();
foreach($arr as $v){
if(is_array($v)){
foreach($v as $z => $x){
if($z===”@attributes”){
$v[“@attributes”][‘id’]=$i;
$v[“@attributes”][‘pid’]=$pid;
$data[$i]=$v[“@attributes”];
}else{
arrto2($x,$i);
}
$i++;
}
}
}
return $data;
}
现在问题解决了,不错还有一个问题,解析中文时候会乱码,编码是gb2312,用utf8正常
——解决方案——————–
加上meta charset就不会乱码了。
hh.xml
<?php
$xml = simplexml_load_file("hh.xml");
$arr = json_decode(json_encode($xml),TRUE);
echo \;
print_r(arrto2($arr[hh]));
function arrto2($arr,$pid=0){
static $i=1;
static $data=array();
foreach($arr as $v){
if(is_array($v)){
foreach($v as $z => $x){
if($z==="@attributes"){
$v["@attributes"][id]=$i;
$v["@attributes"][pid]=$pid;
$data[$i]=$v["@attributes"];
}else{
arrto2($x,$i);
}
$i++;
}
}
}
return $data;
}
?>
Array
(
[1] => Array
(
[name] => haha1哈哈
[id] => 1
[pid] => 0