繁体   English   中英

遍历嵌套数组

[英]Looping through nested array

我有一个输出数组如下。 我想遍历数组,以便可以一次获取一个文件元素。 即一次包含一个图像元素及其详细信息。

我尝试了很多,但是做不到。

 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
            )

    )

你的意思是那样吗?

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

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

您可以这样做,尽管它太烂了!

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

注意:这仅适用于此类顺序数组。 这不适用于具有关联索引的数组。

您只需要像这样遍历数组

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

我会做这样的事情:

$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 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM