• 技术文章 >后端开发 >php教程

    这样的数组怎么让它树状显示呢?

    2016-06-23 14:21:11原创580
    树状 无限分类

    Array(    [1] => Array        (            [id] => 1            [name] => 世界            [pid] => 0            [2] => Array                (                    [id] => 2                    [name] => 中国                    [pid] => 1                    [4] => Array                        (                            [id] => 4                            [name] => 湖南                            [pid] => 2                        )                )            [3] => Array                (                    [id] => 3                    [name] => 美国                    [pid] => 1                )        ))


    回复讨论(解决方案)

    本身就是树状,有pid还不简单么?递归就行了

    $a = Array(  1 => Array(    'id' => 1,    'name' => '世界',    'pid' => 0,    2 => Array(      'id' => 2,      'name' => '中国',      'pid' => 1,      4 => Array(        'id' => 4,        'name' => '湖南',        'pid' => 2,      ),    ),    3 => Array(      'id' => 3,      'name' => '美国',      'pid' => 1,    ),  ),);tree($a);function tree($ar) {  if(! is_array($ar)) return;  echo '
      '; foreach($ar as $item) { echo "$item[id] $item[name]"; foreach($item as $t) { if(is_array($t)) { tree(array($t)); } } } echo '
    ';}
    	1 世界		2 中国			4 湖南		3 美国

      1 世界
        2 中国
          4 湖南
        3 美国

    给你个有趣的玩法(具体有什么用也不晓得)

    $a = Array(  1 => Array(    // 'id' => 1,    'name' => '世界',    // 'pid' => 0,    2 => Array(      // 'id' => 2,      'name' => '中国',      // 'pid' => 1,      4 => Array(        // 'id' => 4,        'name' => '湖南',        // 'pid' => 2,      ),    ),    3 => Array(      // 'id' => 3,      'name' => '美国',      // 'pid' => 1,    ),  ),);$awesome = new RecursiveTreeIterator(      new RecursiveArrayIterator($a),      null, null, RecursiveIteratorIterator::LEAVES_ONLY  );  foreach ($awesome as $line)      echo $line . PHP_EOL;  

      |-世界  | |-中国  |   \-湖南    \-美国

    灰常感谢!痛哭流涕!!折腾几天了,,,

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:asp代码转php 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • PHP编译器BPC6.0已发布,聊聊有哪些新功能吧!• 汇总有关PHP多进程开发面试常见问题(附答案)• php对称加解密的5个问答小结• 验证码的使用• 使用Sphinx对索引进行搜索_php技巧
    1/1

    PHP中文网