本帖最后由 heirychen 于 2010-10-06 02:18:28 编辑

解决方案 »

  1.   

    我自己来答吧,希望对别人有帮助if (is_array($arr))
    {
     echo "<ul>\n";
     $level = 0;
     $isFirst = 1;
     foreach($arr as $key=>$val)
     {
      $inner = "<a href='{$arrPro[$key]}'>{$arrPro[$key]['name']}</a>";
      if ($arr[$key]['level'] == $level)
      {
       if ($isFirst == 0) echo "</li>\n";
       echo "<li>$inner";
       $isFirst = 0;
      }
      if ($arr[$key]['level'] > $level)
      {
       echo "\n<ul>\n<li>$inner";
      }
      if ($arr[$key]['level'] < $level)
      {
       echo "</li>\n</ul>\n</li>\n<li>$inner";
       $isFirst = 1;
      }
      $level = $arr[$key]['level'];
     }
     echo str_repeat("</li>\n</ul>\n", $level+1);
    }
      

  2.   

    先把子数据放到父子组里面

    Array
    (
        [1] => Array
            (
                [name] => Products
                [level] => 0
                [sub]=> [1] => Array
                      (
                        [name] => Papper
                        [level] =>1
                       )
            )