2012-04-20 4 views
1

더 나은 해결책이 있는지 궁금합니다. 단일 값을 가진 배열을 포함하는 배열을 깊이가 작은 배열로 변환하십시오. 나는. 이 같은단일 요소가있는 배열을 하나의 깊이 배열로 포함하는 변형 배열

배열 인쇄 :

$items = array(...) // retrieved from db 
$counts = array(); 
foreach ($items as $item) { 
    foreach ($item as $key => $val) { 
     $counts[$key] = $val; 
    } 
} 

인가 : 지금이 코드와이를

Array 
(
[item_1] => 5 
[item_2] => 7 
[item_4] => 1 
[item_5] => 1 
) 

:

Array 
(
[0] => Array 
    (
     [item_1] => 5 
    ) 

[1] => Array 
    (
     [item_2] => 7 
    ) 

[2] => Array 
    (
     [item_4] => 1 
    ) 

[3] => Array 
    (
     [item_5] => 1 
    ) 

) 

과 같은 인쇄로 변환을하셔야합니다 포함 된 배열의 배열 항목을 죄에 결합하는 더 좋은 방법이 있습니다. 배열 배열?

답변

1

테스트되지 않은,하지만 작동합니다 : 마법처럼

$items = array(...); 
$counts = array_reduce($items,"array_merge",array()); 
+0

작품! 그리고 콜백 함수는 그냥 다른 어떤 PHP 함수도 될 수 있다는 것을 기억해야합니다. 즉, 스스로 작성한 함수 일 필요는 없습니다! 타이 – kontur

관련 문제