2011-03-29 6 views
0

파일 수에 따라이 배열을 여러 배열로 분리하고 싶습니다.중첩 배열을 따로 분리하십시오.

Array 
(
    [files] => Array 
     (
      [name] => Array 
       (
        [0] => pic1.png 
        [1] => pic2.png 
       ) 

      [type] => Array 
       (
        [0] => image/png 
        [1] => image/png 
       ) 

      [tmp_name] => Array 
       (
        [0] => C:\Windows\Temp\php893F.tmp 
        [1] => C:\Windows\Temp\php895F.tmp 
       ) 

      [error] => Array 
       (
        [0] => 0 
        [1] => 0 
       ) 

      [size] => Array 
       (
        [0] => 777180 
        [1] => 734111 
       ) 

     ) 

) 

나는 그것을 같이 할 :

Array 
(
    [files] => Array 
     (
      [0] => array 
       (
        [name] => pic1.png 
        [type] => image/png 
        [tmp_name] => C:\Windows\Temp\php893F.tmp 
        [error] => 0 
        [size] => 777180 
       ) 

      [1] => array 
       (
        [name] => pic2.png 
        [type] => image/png 
        [tmp_name] => C:\Windows\Temp\php895F.tmp 
        [error] => 0 
        [size] => 734111 
       ) 
     ) 
) 
+1

1) 값 하나만 저장하려면 내부 값을 배열로 만드는 이유는 무엇입니까? 2) 당신이 원하는 것을 말해 주셔서 감사합니다. 지금 당신이 시도한 것을 말해주십시오. – unholysampler

+0

foreach를 중첩 시키려고 시도하고 변수 ($ i, $ i ++)로 계산했습니다. – Patrik

답변

3

실제 입력 배열은 당신이 당신의 질문을 한 것으로 같은 동일한 구조와 키가있는 경우, 다음이 코드 조각은 작동합니다 :

$separated = array(); 

foreach ($array['files'] as $property => $values) 
{ 
    foreach ($values as $key => $value) 
    { 
    $separated[$key][$property] = $value; 
    } 
} 
+0

아, 멋지 네요. 아주 간단합니다. 감사! – Patrik

관련 문제