무제한의 제품 카테고리를 읽기 위한 재귀의 PHP 실제 사용
최근 쇼핑몰 프로젝트를 진행하면서 분류 테이블을 정리하기 위해 pid(상위 클래스 ID)를 통해 각 카테고리에 데이터를 꺼내야 했습니다. 2차원 데이터를 트리 형식으로 읽어오기 위해 프로젝트에 다음 방법을 캡슐화했습니다.
<code><span>/** * [treeCats description] *<span> @param</span> [array] $arr [原始未排序的数组] *<span> @param</span> [array] $limit [第一个元素代表开始递归的parent_id,默认为0,第二个元素代表剔除元素及子元素cat_id,如果没有传值,默认为0] *<span> @param</span> integer $level [函数调用的深度] *<span> @return</span> [array] [排好序的数组] */</span><span>public</span><span><span>function</span><span>treeCats</span><span>(<span>$arr</span>,<span>$limit</span>,<span>$level</span>=<span>0</span>)</span>{</span><span>$rec</span> = <span>array</span>(); <span>//先消除cat_id对应的值</span><span>foreach</span> (<span>$arr</span><span>as</span><span>$key</span>=><span>$value</span>){ <span>if</span>(<span>$value</span>[<span>'cat_id'</span>]!=<span>$limit</span>[<span>'cd'</span>]){ <span>$arr_new</span> [<span>$key</span>]=<span>$value</span>; } } <span>//对于新数组进行遍历</span><span>foreach</span> (<span>$arr_new</span><span>as</span><span>$key</span> => <span>$value</span>) { <span>if</span>(<span>$value</span>[<span>'parent_id'</span>]==<span>$limit</span>[<span>"pd"</span>] &&<span>$value</span>[<span>'parent_id'</span>]!=<span>$limit</span>[<span>"cd"</span>]){ <span>$value</span>[<span>'level'</span>]=<span>$level</span>; <span>$rec</span> []= <span>$value</span>; <span>//生成用于下一层循环的数组</span><span>$next_limit</span> = <span>array</span>(<span>"pd"</span>=><span>$value</span>[<span>'cat_id'</span>],<span>"cd"</span>=><span>$limit</span>[<span>"cd"</span>]); <span>$rec</span> = array_merge(<span>$rec</span>,<span>$this</span>->treeCats(<span>$arr</span>,<span>$next_limit</span>,<span>$level</span>+<span>1</span>)); } } <span>return</span><span>$rec</span>; } </code>
여기서 $limit를 설정하는 적용 시나리오는 이 카테고리의 상위 카테고리가 원래 하위 카테고리로 수정되면 브랜치를 잃게 되므로 이때 선택적 카테고리는 Eliminate로 설정해야 합니다. 그 하위 클래스.
위 내용은 내용의 측면을 포함하여 제품의 무제한 카테고리를 반복적으로 읽을 수 있는 PHP의 실제 사용을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

핫 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)

뜨거운 주제











"Laravel에서 take와limit를 사용하는 방법에 대한 자세한 설명" Laravel에서 take와limit는 데이터베이스 쿼리에서 반환되는 레코드 수를 제한하는 데 일반적으로 사용되는 두 가지 방법입니다. 기능은 유사하지만 특정 사용 시나리오에서는 약간의 차이가 있습니다. 이 기사에서는 이 두 가지 방법의 사용법을 자세히 분석하고 구체적인 코드 예제를 제공합니다. 1. Take 메소드 Laravel에서 take 메소드는 반환되는 레코드 수를 제한하는 데 사용되며 일반적으로 orderBy 메소드와 결합됩니다.

제목: Array.Sort 함수를 사용하여 C#에서 배열을 정렬하는 예 텍스트: C#에서는 배열이 일반적으로 사용되는 데이터 구조이므로 배열 정렬 작업이 필요한 경우가 많습니다. C#에서는 배열을 편리하게 정렬할 수 있는 Sort 메서드가 있는 Array 클래스를 제공합니다. 이 문서에서는 C#에서 Array.Sort 함수를 사용하여 배열을 정렬하는 방법을 보여주고 구체적인 코드 예제를 제공합니다. 먼저 Array.Sort 함수의 기본 사용법을 이해해야 합니다. 배열.그래서

객체 지향 프로그래밍에서 상속을 사용하면 기존 클래스의 속성과 메서드를 상속하는 새 클래스를 만들 수 있습니다. 이 강력한 개념은 프로그램의 코드 재사용, 모듈성 및 확장성을 가능하게 합니다. 상위 클래스 속성에 액세스하기 전에 먼저 살펴보겠습니다.

PHP에는 배열 작업을 더욱 편리하고 빠르게 만들어주는 강력한 배열 함수가 많이 있습니다. 두 배열을 연관 배열로 결합해야 하는 경우 PHP의 array_combine 함수를 사용하여 이 작업을 수행할 수 있습니다. 이 함수는 실제로 한 배열의 키를 다른 배열의 값으로 새로운 연관 배열로 결합하는 데 사용됩니다. 다음으로 PHP에서 array_combine 함수를 사용하여 두 배열을 연관 배열로 결합하는 방법을 설명하겠습니다. array_comb에 대해 알아보기

PHP로 프로그래밍할 때 배열을 병합해야 하는 경우가 종종 있습니다. PHP는 배열 병합을 완료하기 위해 array_merge() 함수를 제공하지만, 배열에 동일한 키가 존재할 경우 이 함수는 원래 값을 덮어씁니다. 이 문제를 해결하기 위해 PHP는 배열을 병합하고 동일한 키의 값을 유지할 수 있는 array_merge_recursive() 함수도 언어에 제공하여 프로그램 설계를 더욱 유연하게 만듭니다. array_merge

Take와limit는 Laravel에서 쿼리 결과 세트의 수를 제한하기 위해 일반적으로 사용되는 두 가지 방법입니다. 기능 면에서는 어느 정도 유사하지만 사용법과 일부 세부 사항에서는 다릅니다. 이 기사에서는 두 메서드의 기능과 사용법을 자세히 비교하고, 독자가 두 메서드의 차이점과 올바르게 적용하는 방법을 더 잘 이해할 수 있도록 구체적인 코드 예제를 제공합니다. 1.take 메소드 take 메소드는 LaravelEloquent 쿼리 빌더에 있습니다.

Laravel에서는 쿼리 결과의 수를 제한하기 위해 take 및limit 메소드를 포함한 몇 가지 메소드를 자주 사용합니다. 둘 다 쿼리 결과 수를 제한하는 데 사용될 수 있지만 몇 가지 미묘한 차이점이 있습니다. 이 글에서는 구체적인 코드 예제를 통해 Laravel에서 take와limit가 어떻게 다른지 자세히 살펴보겠습니다. 먼저 take 메소드를 살펴보자. take 메소드는 Eloquent의 일부이며 일반적으로 다음 용도로 사용됩니다.

StreamAPI는 Java 8에 도입되어 컬렉션 작업을 크게 단순화할 수 있습니다. Stream 클래스는 필터링, 매핑, 병합 등을 포함하여 스트림 작업을 위한 다양한 기능적 메서드를 제공합니다. 그 중 Limit과 Skip은 스트림 작업에서 요소 수를 제한하는 데 사용되는 두 가지 기능입니다. 1. 제한 함수 제한 함수는 스트림의 요소 수를 제한하는 데 사용되며 제한 수를 나타내는 긴 유형 매개변수 n을 허용합니다. 제한 함수를 호출한 후 다음을 포함하는 새 스트림이 반환됩니다.
