찾다
php教程php手册关于无限分类的树状输出(id,name,pid)类型的

关于无限分类的树状输出(id,name,pid)类型的

Jun 13, 2016 am 11:31 AM
namepid~에 대한분류만들다데이터 시트제한 없는용적~의유형산출첫 번째

首先创建无限分类的数据表,我这里采用的是id、name、pid这种类型(当然还有很多种无限分类的方式了,比如:id、name、pid、path。left、right左右节点的形式)

CREATE TABLE `class` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(128) default NULL,
`pid` int(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8                                                         

我这里就用数组来模拟,不添加数据了。。。

$items = array(
1 => array('sid' => 1, 'pid' => 0, 'name' => '江西省'),
2 => array('sid' => 2, 'pid' => 0, 'name' => '黑龙江省'),
3 => array('sid' => 3, 'pid' => 1, 'name' => '南昌市'),
4 => array('sid' => 4, 'pid' => 2, 'name' => '哈尔滨市'),
5 => array('sid' => 5, 'pid' => 2, 'name' => '鸡西市'),
6 => array('sid' => 6, 'pid' => 4, 'name' => '香坊区'),
7 => array('sid' => 7, 'pid' => 4, 'name' => '南岗区'),
8 => array('sid' => 8, 'pid' => 6, 'name' => '和兴路'),
9 => array('sid' => 9, 'pid' => 7, 'name' => '西大直街'),
10 => array('sid' => 10, 'pid' => 8, 'name' => '东北林业大学'),
11 => array('sid' => 11, 'pid' => 9, 'name' => '哈尔滨工业大学'),
12 => array('sid' => 12, 'pid' => 8, 'name' => '哈尔滨师范大学'),
13 => array('sid' => 13, 'pid' => 1, 'name' => '赣州市'),
14 => array('sid' => 14, 'pid' => 13, 'name' => '赣县'),
15 => array('sid' => 15, 'pid' => 13, 'name' => '于都县'),
16 => array('sid' => 16, 'pid' => 14, 'name' => '茅店镇'),
17 => array('sid' => 17, 'pid' => 14, 'name' => '大田乡'),
18 => array('sid' => 18, 'pid' => 16, 'name' => '义源村'),
19 => array('sid' => 19, 'pid' => 16, 'name' => '上坝村'),
20 => array('sid' => 20, 'pid' => 0, 'name' => '广东省'),
21 => array('sid' => 21, 'pid' => 20, 'name' => '广州市'),
22 => array('sid' => 22, 'pid' => 20, 'name' => '东莞市'),
);

 

代码如下:

 

$t = array();
foreach ($items as $id => $item) {
  echo $item['pid'];
  if ($item['pid']) {
    $items[$item['pid']][$item['sid']] = &$items[$item['sid']];
    $t[] = $id;
  }
}

foreach($t as $u) {
  unset($items[$u]);
}
echo "

";<br>print_r($items);<br>echo "
";

 

打印的结果如下:

 

 

 

 

以上代码是我在网上搜集的,觉得比较经典,而且相对于其他的来说,代码量也少。。

感谢网络中的大神能和我们一起分享。。。

 

 

 

 

 

 

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경