> 백엔드 개발 > PHP 튜토리얼 > 최고 분류 ID_php 팁을 얻기 위한 PHP 무제한 분류

최고 분류 ID_php 팁을 얻기 위한 PHP 무제한 분류

WBOY
풀어 주다: 2016-05-16 19:57:25
원래의
1315명이 탐색했습니다.

그런 테이블이 있는데, id는 카테고리의 ID, name은 카테고리 이름, pid는 상위 카테고리의 ID입니다.

이제 카테고리 ID가 있는데, 프로그램은 상관의 상사를 찾아야 하는데... 카테고리 ID를 간단히 말하면 상위 카테고리의 ID를 찾는 것입니다.
예를 들어, "신선한 과일"의 ID는 13이고, 해당 상위 카테고리 ID는 5이며, 5의 상위 카테고리 ID는 1입니다. 1에는 상위 카테고리인 상위 카테고리가 없습니다.

과거에는 어리고 무지했을 때 재귀를 사용하여 검색한 다음 결과를 캐싱하여 성능 문제를 해결하는 방법을 항상 생각했습니다.
나중에 전체 테이블을 캐싱하고 재귀적으로 검색해 보았습니다.
나중에...무한분류를 접할 확률이 적어지는 것 같네요...

최근 한 동료가 이 문제를 '우아하게' 해결하는 방법을 물었습니다.
그래서 저는 아이디어를 얻었고 다음과 같은 해결책을 생각해냈습니다.

<&#63;php
$sql = "select id, pid from tablename ";
// 查询后 将结果处理成 如下数组格式
$arr = [
  // id => pid
  1 => 0,
  // 省略...
  5 => 1,
  // 省略...
  13 => 5
];
// 建议将这数组缓存起来

$id = 13;
while($arr[$id]) {
  $id = $arr[$id];
}
echo $id; // 1

로그인 후 복사

정말 우아해요! 나 자신도 감탄했고 동료들은 땅바닥에 쓰러져 통곡하기도 했다.
반복하고, 판단하고, 반복하는 코드를 수십줄 썼기 때문에 두 줄의 코드로 대체했습니다...

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿