> 백엔드 개발 > PHP 튜토리얼 > 这样的数组怎么让它树状显示呢?

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

WBOY
풀어 주다: 2016-06-23 14:21:11
원래의
1155명이 탐색했습니다.

树状 无限分类

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿