2013-02-06 179 views
0

我有一個輸出數組,如下所示。我想遍歷數組,以便我可以一次獲得一個文件元素。即一次具有其細節的一個圖像元素。通過嵌套數組循環

我試了很多,但無法做到這一點。

Array 
    (
     [name] => Array 
      (
       [0] => stock-photo-cup-icons-tea-and-coffee-raster-version-109119257.jpg 
       [1] => tea-cup-icon.png 
       [2] => tea.png 
       [3] => stock-vector-vector-black-tea-icons-set-all-white-areas-are-cut-away-from-icons-and-black-areas-merged-81392851.jpg 
      ) 

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

     [tmp_name] => Array 
      (
       [0] => D:\xampp\tmp\php6BB.tmp 
       [1] => D:\xampp\tmp\php6BC.tmp 
       [2] => D:\xampp\tmp\php6BD.tmp 
       [3] => D:\xampp\tmp\php6BE.tmp 
      ) 

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

     [size] => Array 
      (
       [0] => 30609 
       [1] => 3615 
       [2] => 8966 
       [3] => 23117 
      ) 

    ) 

回答

2

你的意思是這樣嗎?

$images = array(); 
foreach($array as $key=>$values){ 

    foreach($values as $no=>$value){ 
     $images[$no][$key] = $value; 
    } 
} 
1

你可以這樣做,雖然它是蹩腳的!

for ($i = 0; $i < count($array["name"]); $i++) 
{ 
    echo $array["name"][$i], $array["type"][$i], $array["size"][$i]; 
} 

注:這僅適用於這種順序排列的。這不適用於具有關聯索引的數組。

0

你只是通過像數組循環,使

$count = 0; 
foreach ($_FILES['fileField']['name'] as $filename) 
{ 
    $file = $_FILES['fileField']['name'][$count]; 
    $type = $_FILES['fileField']['type'][$count]; 
    $size = $_FILES['fileField']['size'][$count]; 
    $count++; 
} 
0

我會做這樣的事情:

$fileDetais = array(); 

foreach($arr["name"] as $id => $fname) { 
    $fileDetais["name"] = $fname; 
    $fileDetais["type"] = $arr["type"][$id]; 
    $fileDetais["tmp_name"] = $arr["tmp_name"][$id]; 
    $fileDetais["error"] = $arr["error"][$id]; 
    $fileDetais["size"] = $arr["size"][$id]; 
    //now you have all info about one file in $fileDetais 
}