-
-
배열
- (
- [0] => 배열
- (
- [id] => 1
- [이름] => dev
- [부모 ID] => 0
- [하위 항목] => 배열
- (
- [0] => 배열
- 🎜> [id] => 2
- [name] => php
- [parentid] => 1
- [childs] => > 배열
- (
- [id] => 3
- [name] => smarty
- [parentid] => 2
- )
- < ;p> [1] => 배열
- (
- [id] => 5
- [이름] => pdo
- [상위 ID] => 2
- [어린이] => 배열
- (
- [0] => 배열
- (
- [id] => 6
- [이름] => pdo-mysql
- [부모 ID] => 5
- )
)
)
)
)
[1] => 배열
- (
- [id] => 7
- [name] => java
- [parentid] => 1
- )
)
[1] => 배열
- (
- [id] => 4
- [name] => life
- [parentid] => 0
- )
- )
-
-
-
- 复代代码
看有没有更简单的实现방법
$rows = array( - array(
- 'id' => ; 1,
- '이름' => '개발자',
- '부모 ID' => 0
- ),
- 배열(
- 'id' => 2,
- '이름' => 'php',
- '부모 ID' => 1
- ),
- array(
- 'id' => 3,
- '이름' => 'smarty',
- 'parentid' => 2
- ),
- array(
- 'id' => 4,
- 'name' => 'life',
- 'parentid' => 0
- ),
- array(
- 'id' => 5,
- 'name' => 'pdo',
- 'parentid' => ; 2
- ),
- array(
- 'id' => 6,
- 'name' => 'pdo-mysql',
- 'parentid' => 5
- ),
- array(
- 'id' => 7,
- 'name' => 'java',
- 'parentid' => 1
- )
- ) ;
// 72648
- // 84072
- function findChild(&$arr,$id){
-
- $childs=array();
- foreach ($arr as $k => $v){
- if($v['parentid']== $id){
- $childs[]=$v;
- }
- }
- $childs를 반환합니다.
- }
function build_tree($root_id){
- 전역 $rows;
- $childs=findChild($rows,$root_id);
- if( 비어 있음($childs)){
- null 반환;
- }
- foreach($childs as $k => $v){
- $rescurTree=build_tree($v[id]);
- if( null != $rescurTree){
- $childs[$k]['childs']=$rescurTree;
- }
- }
- return $childs;
- }< /p>
$tree=build_tree(0);
- echo memory_get_usage();
- print_r($tree);
- ?>
-
-
-
- 제제대码
관심을 가질 만한 기사:
PHP에서 무제한 분류 예시(타오바오 상품 분류 모방)
PHP에서 구현한 무한 분류(재귀 버전)의 예
PHP 배열을 사용한 무한 분류(데이터베이스 및 재귀 없음)
무한 분류를 재귀적으로 구현하고 드롭다운 목록을 생성하기 위해 PHP로 작성된 함수
|