2011-02-06 8 views
5

단일 배열을 다차원 배열로 변환하는 것을 좋아합니다. 이것은 제가 찾던 최종 결과가 아니라는 점을 제외하면 웹에서 페이지를 긁어 모으는 것입니다.배열을 다차원 배열로 변환

변경 :

Rooms: Array (
    [0] => name 
    [1] => value 
    [2] => size 
    [3] =>   
    [4] => name 
    [5] => value 
    [6] => size 
    [7] =>    
    [8] => name 
    [9] => value 
    [10] => size 
    [11] =>   
    [12] => name 
    [13] => value 
    [14] => size 
    [15] =>   
) 

속으로 :

Rooms: Array (
    Room: Array (
    [0] => name 
    [1] => value 
    [2] => size 
), 
    Room: Array (
    [0] => name 
    [1] => value 
    [2] => size 
), 
    Room: Array (
    [0] => name 
    [1] => value 
    [2] => size 
) 
) 

답변

6

먼저 사용 array_filter()  노드를 제거합니다 :

$array = array_filter($array, function($x) { return trim($x) != ' '; }); 

// Or if your PHP is older than 5.3 
$array = array_filter($array, create_function('$x', 'return trim($x) != " ";')); 

그 다음에 배열을 분할 array_chunk()를 사용 큰 덩어리 (3) S : 물론

$array = array_chunk($array, 3); 

이 항상 만 순서대로, name, valuesize을 포함하는 튜플을 얻을 것이다 가정합니다.

+0

빙고! 그것이 내가 찾고있는 것입니다. 완벽하고 감사합니다. – Tim

관련 문제