백엔드 개발 PHP 튜토리얼 thinkphp中一个良好的方法

thinkphp中一个良好的方法

Jun 13, 2016 pm 12:37 PM
data list tree

thinkphp中一个很好的方法

在php中经常会用到分类树,下面这个函数是一个非常方便有用的,

function list_to_tree($list, $pk='id',$pid = 'pid',$child = '_child',$root=0) {
    // 创建Tree
    $tree = array();
    if(is_array($list)) {
        // 创建基于主键的数组引用
        $refer = array();
        foreach ($list as $key => $data) {
            $refer[$data[$pk]] =& $list[$key];
        }
        foreach ($list as $key => $data) {
            // 判断是否存在parent
            $parentId = $data[$pid];
            if ($root == $parentId) {
                $tree[] =& $list[$key];
            }else{
                if (isset($refer[$parentId])) {
                    $parent =& $refer[$parentId];
                    $parent[$child][] =& $list[$key];
                }
            }
        }
    }
    return $tree;
}
로그인 후 복사



본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PHP에서 Redis 목록 작업을 구현하는 방법 PHP에서 Redis 목록 작업을 구현하는 방법 May 26, 2023 am 11:51 AM

목록 작업 //목록의 선두에서 값을 삽입합니다. $ret=$redis->lPush('city','guangzhou');//목록 끝에 값을 삽입합니다. $ret=$redis->rPush('city','guangzhou');//목록의 지정된 범위에 있는 요소를 가져옵니다. 0은 목록의 첫 번째 요소를 나타내고, -1은 마지막 요소를 나타내고, -2는 끝에서 두 번째 요소를 나타냅니다. $ret=$redis->l

tree를 사용하여 표시할 파일 디렉터리 트리를 생성합니다. tree를 사용하여 표시할 파일 디렉터리 트리를 생성합니다. Mar 01, 2024 pm 05:46 PM

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

JSONArray를 Java의 List로 변환하는 방법 JSONArray를 Java의 List로 변환하는 방법 May 04, 2023 pm 05:25 PM

1:JSONArray转ListJSONArray자세한 내용은 JSONArrayJSONArrayarray=newJSONArray();array.add(0,"a");array.add(1,"b");array.add(2,"c") ;Listlist=JSONObject.parseArray(array.toJSONString(),String.class);System.out.println(list.to

목록을 numpy로 변환하는 방법 목록을 numpy로 변환하는 방법 Nov 22, 2023 am 11:29 AM

목록을 numpy로 변환하는 방법: 1. numpy.array() 함수를 사용합니다. 함수의 첫 번째 매개변수는 1차원 또는 다차원 목록일 수 있는 목록 객체입니다. 2. numpy.asarray( ) 입력 목록의 데이터 유형을 사용하기 위해 최선을 다할 함수입니다. 3. numpy.reshape() 함수를 사용하여 1차원 목록을 다차원 NumPy 배열로 변환합니다. 4. numpy.fromiter를 사용합니다. () 함수에서 함수의 첫 번째 매개변수는 반복 가능한 객체입니다.

C#에서 List.Sort 함수를 사용하여 목록을 정렬하는 방법 C#에서 List.Sort 함수를 사용하여 목록을 정렬하는 방법 Nov 17, 2023 am 10:58 AM

C#에서 List.Sort 함수를 사용하여 목록을 정렬하는 방법 C# 프로그래밍 언어에서는 목록을 정렬해야 하는 경우가 많습니다. List 클래스의 Sort 기능은 이러한 목적으로 설계된 강력한 도구입니다. 이 문서에서는 C#에서 List.Sort 함수를 사용하여 목록을 정렬하는 방법을 소개하고 독자가 이 함수를 더 잘 이해하고 적용하는 데 도움이 되는 특정 코드 예제를 제공합니다. List.Sort 함수는 목록의 요소를 정렬하는 데 사용되는 List 클래스의 멤버 함수입니다. 이 함수는 수신

list.sort()가 Python에서 정렬된 목록을 반환하지 않는 이유는 무엇입니까? list.sort()가 Python에서 정렬된 목록을 반환하지 않는 이유는 무엇입니까? Sep 18, 2023 am 09:29 AM

예 이 예에서는 계속하기 전에 먼저 list.sort()의 사용법을 살펴보겠습니다. 여기서는 목록을 생성하고 sort() 메서드를 사용하여 오름차순으로 정렬했습니다. - #CreatingaListmyList=["Jacob","Harry","Mark","Anthony"]#DisplayingtheListprint("List=",myList)# SorttheListsinAscendingOrdermyList .sort(

Java에서 배열을 목록으로 변환하는 방법 Java에서 배열을 목록으로 변환하는 방법 Apr 19, 2023 am 09:13 AM

1. 가장 일반적인 방법(반드시 최선은 아님)은 Arrays.asList(strArray)를 사용하는 것입니다. 배열을 List로 변환한 후에는 List를 추가하거나 삭제할 수 없으며 확인하고 수정만 할 수 있습니다. 그렇지 않으면 예외가 발생합니다. . 키 코드: Listlist=Arrays.asList(strArray);privatevoidtestArrayCastToListError(){String[]strArray=newString[2];Listlist=Arrays.asList(strArray);//변환된 목록에 데이터 조각을 삽입합니다. list.add( " 1&quot

Java 기본에서 List의 일반적인 방법은 무엇입니까 Java 기본에서 List의 일반적인 방법은 무엇입니까 May 14, 2023 am 10:16 AM

1. List 인터페이스 소개 List는 순서가 있는 모음이자 반복 가능한 모음입니다. Collection 인터페이스를 상속받았으며, 반복되는 요소는 List 컬렉션에 나타날 수 있으며, 지정된 위치의 요소는 인덱스(아래 첨자)를 통해 액세스할 수 있습니다. 2. 공통 메소드 나열 - voidadd(intindex, Obejctelement) 메소드 1. voidadd(intindex, Obejctelement) 메소드는 지정된 위치에 요소 요소를 삽입하고 후속 요소를 한 요소 뒤로 이동합니다. 2.voidadd(intindex,객체 요소

See all articles