2013-04-24 125 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