有此数组:
$cfg_Cs= array();// 如 array(0,1,1,'顶级分类2',15);各元素表示  :父id,定值,定值,分类名称,排序值
  $cfg_Cs[37]=array(0,1,1,'顶级分类2',15);
$cfg_Cs[38]=array(0,1,1,'顶级分类3',18);
$cfg_Cs[27]=array(0,1,1,'顶级分类1',50);
$cfg_Cs[28]=array(27,1,1,'节日类',50);
$cfg_Cs[29]=array(28,1,1,'国庆节',10);
$cfg_Cs[30]=array(28,1,1,'中秋节',50);
$cfg_Cs[36]=array(28,1,1,'植树节',50);
$cfg_Cs[32]=array(28,1,1,'元旦节',20);
$cfg_Cs[33]=array(28,1,1,'情人节',15);
$cfg_Cs[34]=array(28,1,1,'父亲节',25);
$cfg_Cs[40]=array(28,1,1,'重阳节',26);
$cfg_Cs[41]=array(0,1,1,'顶级栏目4',50);
$cfg_Cs[42]=array(0,1,1,'顶级栏目5',50);
$cfg_Cs[43]=array(0,1,1,'顶级栏目7',50);
$cfg_Cs[44]=array(0,1,1,'顶级栏目8',50);
$cfg_Cs[45]=array(0,1,1,'顶级栏目10',50);
$cfg_Cs[46]=array(0,1,1,'我喜爱的栏目',50);
$cfg_Cs[47]=array(0,1,1,'我讨厌的栏目',50);
如何快速高效转换成 类似
<?xml version="1.0" encoding="utf-8"?>
<categories>
   <category id="1" sortrank="20" attr_name="顶级分类1">
     <son_category id="2" sortrank="20" attr_name="子分类1">
   <child_category id="4" sortrank="20">aaaaaaaa</child_category>
   <child_category id="15" sortrank="20">bbb</child_category>
   <child_category id="13" sortrank="20">cc</child_category>
   <child_category id="16" sortrank="20">dd</child_category>
   <child_category id="18" sortrank="20">eee</child_category>
   <child_category id="19" sortrank="20">fffff</child_category>
 </son_category>
   </category>
   <category id="1" sortrank="20" attr_name="顶级分类2">
<son_category id="2" sortrank="20" attr_name="子分类1">
   <child_category id="4" sortrank="20">aaaaaaaa</child_category>
   <child_category id="15" sortrank="20">bbb</child_category>
   <child_category id="13" sortrank="20">cc</child_category>
   <child_category id="16" sortrank="20">dd</child_category>
   <child_category id="18" sortrank="20">eee</child_category>
   <child_category id="19" sortrank="20">fffff</child_category>
 </son_category>
   </category>   <category id="1" sortrank="20"  attr_name="顶级分类2">
<son_category id="2" sortrank="20" attr_name="子分类1">
   <child_category id="4" sortrank="20">aaaaaaaa</child_category>
   <child_category id="15" sortrank="20">bbb</child_category>
   <child_category id="13" sortrank="20">cc</child_category>
   <child_category id="16" sortrank="20">dd</child_category>
   <child_category id="18" sortrank="20">eee</child_category>
   <child_category id="19" sortrank="20">fffff</child_category>
 </son_category>
   </category>
   <category id="1" sortrank="20"  attr_name="顶级分类2">
<son_category id="2" sortrank="20" attr_name="子分类1">
   <child_category id="4" sortrank="20">aaaaaaaa</child_category>
   <child_category id="15" sortrank="20">bbb</child_category>
   <child_category id="13" sortrank="20">cc</child_category>
   <child_category id="16" sortrank="20">dd</child_category>
   <child_category id="18" sortrank="20">eee</child_category>
   <child_category id="19" sortrank="20">fffff</child_category>
 </son_category>
   </category>
   <category id="1" sortrank="20"  attr_name="顶级分类2">
<son_category id="2" sortrank="20" attr_name="子分类1">
   <child_category id="4" sortrank="20">aaaaaaaa</child_category>
   <child_category id="15" sortrank="20">bbb</child_category>
   <child_category id="13" sortrank="20">cc</child_category>
   <child_category id="16" sortrank="20">dd</child_category>
   <child_category id="18" sortrank="20">eee</child_category>
   <child_category id="19" sortrank="20">fffff</child_category>
 </son_category>
   </category></categories> 
xml  树?请指点

解决方案 »

  1.   

    树深度只有一层的遍历就完了,都不用递归。//$arr 是$cfg_Cs
    $tops = array();   //顶点数组
    foreach($arr as $key=>$value)
    {
         if($value[0] == 0)
         {
            array_push($tops,$value);
            unset($arr[$key]);     
        }
    }
    //$arr现在是子节点数组,根据需求循环读取
      

  2.   

    我了个去,csdn果然很神奇,昨天写的几行代码今天就变成这些乱七八糟的了