2013-04-24 131 views
-1

我在一個foreach循環中使用了兩個數組。 這是我爲兩個輸入文件類型數組寫的代碼片段。在一個foreach循環中顯示兩個數組

$file[]= $_FILES['f_name']['name']; 

$tmp_name[]=$_FILES['f_name']['tmp_name']; 

    foreach (array_combine($file, $tmp_name) as $code => $name) { 
      print_r($code); 
     print_r($name); 
} 

所得值i得到上印刷所述陣列是這樣的:

ArrayArray ([0] => C:\xampp\tmp\phpC24D.tmp [1] => C:\xampp\tmp\phpC24E.tmp [2] => C:\xampp\tmp\phpC25F.tmp [3] => C:\xampp\tmp\phpC260.tmp [4] => [5] => [6] => [7] => [8] => [9] => [10] =>) 

它打印僅一個陣列,不打印其它陣列。 我怎樣才能打印它? 在此先感謝。

+1

這些爛攤子有什麼意義?爲什麼分配新的數組然後將其合併回來?任何原因你不能使用$ _FILES? – 2013-04-24 14:31:11

回答

1

其實它是打印2個數組,只是第一個沒有包含任何內容。

ArrayArray (

我喜歡用var_dump相比print_r,因爲它給你更多的細節進行調試。

由於您將2個數組合併成一個,並且它們只有1個索引,所以$code變量中只有$name - 除非添加數組索引。

+0

爲什麼不打印任何東西?當有四個文件並且都有名字時。 – 2013-04-24 14:30:04

+0

已編輯的文章 - 其因爲$ _FILES ['f_name'] ['name']'和'$ _FILES ['f_name'] ['tmp_name']'被合併爲1列表作爲沒有索引的值。 – 2013-04-24 14:31:00

+0

@downvote的原因? – 2013-04-24 14:31:56