$ _FILES数组及其愚蠢的结构

Chu*_*d37 6 php upload file

可能重复:
你如何遍历$ _FILES数组?

由于某种原因阵列真的得到了我.我最终可以到达那里,但这个$ _FILES数组似乎对我不利.

我希望能够循环遍历$ _FILES,如下所示:

foreach($_FILES as $file)
{
   echo $file['name'] . "<br>";
   echo $file['type'] . "<br>";
   echo $file['size'] . "<br>";
   echo $file['error'] . "<br>";
}
Run Code Online (Sandbox Code Playgroud)

但显然,结构化的方式你不能这样做.所以我写了以下内容:

echo "<pre>";
                $x=0;
                $file = array();
                foreach($_FILES['attachment']['name'] as $data)
                {   $file[$x]=array(); 
                    array_push($file[$x],$data); $x++;
                }
                $x=0;
                foreach($_FILES['attachment']['type'] as $data)
                    {   array_push($file[$x],$data); $x++;}

                $x=0;
                foreach($_FILES['attachment']['tmp_name'] as $data)
                    {   array_push($file[$x],$data); $x++;}
                $x=0;
                foreach($_FILES['attachment']['error'] as $data)
                    {   array_push($file[$x],$data); $x++;}
                $x=0;
                foreach($_FILES['attachment']['size'] as $data)
                    {   array_push($file[$x],$data); $x++;}
                var_dump($file);
                echo "</pre>";
Run Code Online (Sandbox Code Playgroud)

这看起来很长很啰嗦,但是我的思绪一直停留在如何正确地循环这个数组的不同部分以使其工作并循环我想要的方式.

肯定有更好的办法?

请帮忙!

max*_*ver 6

如果它们都具有相同的长度,你可以像这样做

for($i = 0; $i < count($_FILES['attachment']['name']); $i++)
{
   echo $_FILES['attachment']['name'][$i] . "<br>";
   echo $_FILES['attachment']['type'][$i] . "<br>";
   echo $_FILES['attachment']['size'][$i] . "<br>";
   echo $_FILES['attachment']['error'][$i] . "<br>";

}
Run Code Online (Sandbox Code Playgroud)