首页 > 后端开发 > php教程 > 这样的数组怎么让它树状显示呢?

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

WBOY
发布: 2016-06-23 14:21:11
原创
1151 人浏览过

树状 无限分类

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 '<ul>';  foreach($ar as $item) {    echo "$item[id] $item[name]";    foreach($item as $t) {      if(is_array($t)) {        tree(array($t));      }    }  }  echo '</ul>';}
登录后复制
	1 世界		2 中国			4 湖南		3 美国
登录后复制

<ul>1 世界<ul>2 中国<ul>4 湖南</ul></ul><ul>3 美国</ul></ul>
登录后复制

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

$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;  
登录后复制

  |-世界  | |-中国  |   \-湖南    \-美国
登录后复制

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板