2011-09-28 2 views
2

누구나 다차원 배열을 잘라내는 기능에 도움이 될 수 있습니까? 여기 다차원 배열을 자르는 PHP

는 내가 필요로하는 것입니다 :

$array[x][y][b][q][o][p]; 
$array[b][c][f][q][l][v]; 

$newArray = cut_array_depth($array, 2); 

// Would return a new array with a maximum dimension of 2 elements 
// all others would be left out 
$newArray[][]; 

감사합니다,

+1

(나는 정말 '절단'논리를 이해하지 못하는 경우에도) 당신은 자신에게 솔루션을 쓸 수 있습니다 그냥 호기심에서 어떻게이게 유용할까요? $ array [x] [y] [b] [q] [o] [p] = 5이고 $ array [b] [c] [f] [q] [l] [v] = 3 일 경우 – amosrivera

+1

귀하의 기능은 정확히 반환합니까? –

+0

@Guilhem Hoffmann은 2로 슬라이싱 한 경우 최대 2 차원 $ array [] [], $ array [x] [y] 및 $ array [b] [c] 요소가있는 다차원 배열을 반환합니다. 해당 배열에 있지만 다른 자식 배열은 제거됩니다. – Henrique

답변

3

<?php 
function cut_array_depth($array, $depth, $currDepth = 0){ 
    if($currDepth > $dept){ 
     return null; 
    } 
    $returnArray = array(); 
    foreach($array as $key => $value){   
     if(is_array($value)){    
      $returnArray[$key] = cut_array_depth($value, $depth , $currDepth +1); 
     } else { 
      $returnArray[$key] = $value; 
    } 
    return $returnArray; 

} 
?> 
관련 문제