2011-12-03 2 views
0

ExpressionEngine 사이트에서 작업 중이며 정렬 된 목록을 출력하는 루프가 있습니다. 내가하고 싶은 것은 PHP를 사용하여 3 단계로 깊은 목록을 출력합니다.3 레벨 탐색을 출력하는 PHP 코드

/apples/black/rotten 
/apples/green/cortland 
/apples/green/cortland 
/apples/red/granny 
/apples/red/granny 
/bananas/green/bad 
/bananas/green/bad 
/bananas/yellow/good 
/bananas/yellow/good 
/oranges/orange/tasty 
/oranges/yellow/small 
/oranges/yellow/small 

중첩 된 목록에이를 변환하는 가장 좋은 방법은 무엇입니까?

이것은 분명히 설명을위한 목록입니다. 나는 며칠 동안 이것을 알아 내려고 노력했지만 운이 없었습니다. 재귀 옵션입니다. 파일의

답변

0
$arr = array(); 
foreach (file(..., FILE_IGNORE_NEW_LINES) as $line) 
{ 
    $tmp = explode("/", substr($line, 1)); 
    for ($i=0; $i<=2; $i++) 
    { 
     switch ($i) 
     { 
      case 0: 
       if (! isset($arr[$tmp[0]])) 
       { 
        $arr[$tmp[0]] = array(); 
       } 
       break; 
      case 1: 
       if (! isset($arr[$tmp[1]])) 
       { 
        $arr[$tmp[0]][$tmp[1]] = $tmp[2]; 
       } 
       break; 
     } 
    } 
} 

를 사용하여 배열

+0

각 라인에 이미있는 경우
가 직접 반복 할 수있는 텍스트 파일에 저장되어있는 표현의 결과를 가정되어 플러그인에서 루프의 한 반복으로 출력입니다 시스템에 있습니다. 플러그인 태그 내부에서 PHP를 실행할 수 있습니다. 내가하고 싶은 것은 모든 반복에서 3 가지 결과를 어떻게 처리 할 것인지를 결정하는 것입니다. 그래서 기본적으로 루프는 나를 위해 처리됩니다. 저는 방금 출력을 처리하려고합니다. – ekard9

관련 문제