PHP 递归兑现层级树状展现数据
PHP 递归实现层级树状展现数据
?
<?php $db = mysql_connect('localhost', 'root', 'root') or die('Can\'t connect to database'); mysql_select_db('test') or die('Can\'t find database : test'); $result = mysql_query('select id, fid, name from tree'); while($arr = mysql_fetch_array($result)){ $data[] = array( 'id' => $arr['id'], 'fid' => $arr['fid'], 'name' => $arr['name'], ); } // 将数据按照缩进简单排列 见图1 function data2arr($tree, $rootId = 0, $level = 0) { foreach($tree as $leaf) { if($leaf['fid'] == $rootId) { echo str_repeat(' ', $level) . $leaf['id'] . ' ' . $leaf['name'] . '<br/>'; foreach($tree as $l) { if($l['fid'] == $leaf['id']) { data2arr($tree, $leaf['id'], $level + 1); break; } } } } } data2arr($data); echo '<br/>-----------------------------------<br/>'; // 将数据按照所属关系封装 见图2 function arr2tree($tree, $rootId = 0) { $return = array(); foreach($tree as $leaf) { if($leaf['fid'] == $rootId) { foreach($tree as $subleaf) { if($subleaf['fid'] == $leaf['id']) { $leaf['children'] = arr2tree($tree, $leaf['id']); break; } } $return[] = $leaf; } } return $return; } $tree = arr2tree($data); print_r($tree); echo '<br/>-----------------------------------<br/>'; // 将数据使用HTML再次展现 见图3 function tree2html($tree) { echo '<ul>'; foreach($tree as $leaf) { echo '<li>' .$leaf['name']; if(! empty($leaf['children'])) tree2html($leaf['children']); echo '</li>'; } echo '</ul>'; } tree2html($tree);
?
?
?
图 1:
?图 2:
??图 3:

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











많은 사용자들이 스마트 시계를 선택할 때 Huawei 브랜드를 선택하게 됩니다. 그 중 Huawei GT3pro와 GT4가 가장 인기 있는 선택입니다. 두 제품의 차이점을 궁금해하는 사용자가 많습니다. Huawei GT3pro와 GT4의 차이점은 무엇입니까? 1. 외관 GT4: 46mm와 41mm, 재질은 유리 거울 + 스테인레스 스틸 본체 + 고해상도 섬유 후면 쉘입니다. GT3pro: 46.6mm 및 42.9mm, 재질은 사파이어 유리 + 티타늄 본체/세라믹 본체 + 세라믹 백 쉘입니다. 2. 건강한 GT4: 최신 Huawei Truseen5.5+ 알고리즘을 사용하면 결과가 더 정확해집니다. GT3pro: ECG 심전도, 혈관 및 안전성 추가

1. Iterator와 foreach의 차이점은 다형성 차이입니다(foreach의 맨 아래 레이어는 Iterator입니다). Iterator는 인터페이스 유형이므로 컬렉션 유형이나 배열에 관심이 없습니다. for와 foreach 모두 컬렉션 유형을 알아야 합니다. 1. foreach의 최하위 레이어가 Iterator에 의해 작성된 코드라고 말하는 이유: 디컴파일된 코드: 2. foreach와 iterator에서 제거의 차이점을 살펴보세요. Alibaba Java Development Manual, 그러나 1번의 경우에는 오류가 보고되지 않으며, 2번의 경우(java.util.ConcurrentModificationException) 먼저 오류가 보고됩니다.

PHP가 foreach 루프 수를 결정하는 단계: 1. "$fruits" 배열을 만듭니다. 2. 초기 값이 0인 카운터 변수 "$counter"를 만듭니다. 3. "foreach"를 사용하여 루프를 만듭니다. 배열을 통해 루프 본문의 카운터 변수 값을 늘린 다음 각 요소와 해당 인덱스를 출력합니다. 4. "foreach" 루프 외부에 카운터 변수 값을 출력하여 루프가 도달하는 요소를 확인합니다.

Windows 11에서 캡처 도구가 작동하지 않는 이유 문제의 근본 원인을 이해하면 올바른 솔루션을 찾는 데 도움이 될 수 있습니다. 캡처 도구가 제대로 작동하지 않는 주요 이유는 다음과 같습니다. 초점 도우미가 켜져 있습니다. 이렇게 하면 캡처 도구가 열리지 않습니다. 손상된 응용 프로그램: 캡처 도구가 실행 시 충돌하는 경우 응용 프로그램이 손상되었을 수 있습니다. 오래된 그래픽 드라이버: 호환되지 않는 드라이버가 캡처 도구를 방해할 수 있습니다. 다른 응용 프로그램의 간섭: 실행 중인 다른 응용 프로그램이 캡처 도구와 충돌할 수 있습니다. 인증서가 만료되었습니다. 업그레이드 프로세스 중 오류로 인해 이 문제가 발생할 수 있습니다. 이 문제는 대부분의 사용자에게 적합하며 특별한 기술 지식이 필요하지 않습니다. 1. Windows 및 Microsoft Store 앱 업데이트

오늘날 급속한 기술 발전의 시대에 프로그래밍 언어는 비가 내린 뒤 버섯처럼 솟아오르고 있습니다. 많은 주목을 받고 있는 언어 중 하나가 바로 Go 언어인데, 단순성, 효율성, 동시성 안전성 등 다양한 기능으로 많은 개발자들에게 사랑을 받고 있습니다. Go 언어는 뛰어난 오픈 소스 프로젝트가 많이 포함된 강력한 생태계로 유명합니다. 이 기사에서는 선택된 Go 언어 오픈 소스 프로젝트 5개를 소개하고 독자가 Go 언어 오픈 소스 프로젝트의 세계를 탐색하도록 안내합니다. KubernetesKubernetes는 자동화를 위한 오픈 소스 컨테이너 오케스트레이션 엔진입니다.

이 기사에서는 키 값을 뒤집은 후 PHP가 배열을 반환하는 방법을 자세히 설명합니다. 편집자는 이것이 매우 실용적이라고 생각하므로 이 기사를 읽고 뭔가를 얻을 수 있기를 바랍니다. PHP 키 값 뒤집기 배열 키 값 뒤집기는 배열의 키와 값을 교환하여 원래 키를 값으로, 원래 값을 키로 사용하여 새 배열을 생성하는 배열 작업입니다. 구현 방법 PHP에서는 다음 방법을 통해 배열의 키-값 뒤집기를 수행할 수 있습니다. array_flip() 함수: array_flip() 함수는 키-값 뒤집기 작업에 특별히 사용됩니다. 배열을 인수로 받고 키와 값이 교환된 새 배열을 반환합니다. $original_array=[

tree는 디렉터리의 내용을 트리 형식으로 반복적으로 나열하여 모든 디렉터리, 하위 디렉터리 및 파일을 계층적으로 나열함으로써 파일과 폴더의 조직 구조를 시각적으로 표시하는 명령줄 도구입니다. 다음은 Windows 및 Linux 시스템에서의 tree 설치 및 사용 방법입니다. Linux에서의 tree 설치 및 사용: aptupdate&&aptinstalltree 다음은 tree 명령을 사용하는 일반적인 방법입니다. #지정된 경로 아래에 디렉터리 트리 표시 tree/d/temp #최대 표시 깊이 제한 tree-L3 #디렉토리만 표시하고 파일은 표시하지 않음 tree-d #숨겨진 파일 및 디렉터리 포함 표시 tr

"Go 언어 개발 필수 사항: 5가지 인기 프레임워크 권장 사항" 빠르고 효율적인 프로그래밍 언어인 Go 언어는 점점 더 많은 개발자들이 선호하고 있습니다. 개발 효율성을 높이고 코드 구조를 최적화하기 위해 많은 개발자는 프레임워크를 사용하여 애플리케이션을 빠르게 구축하는 방법을 선택합니다. Go 언어의 세계에는 선택할 수 있는 훌륭한 프레임워크가 많이 있습니다. 이 기사에서는 인기 있는 Go 언어 프레임워크 5개를 소개하고 독자가 이러한 프레임워크를 더 잘 이해하고 사용할 수 있도록 구체적인 코드 예제를 제공합니다. 1.GinGin은 빠른 속도를 갖춘 경량 웹 프레임워크입니다.
