多维数组遍历+逆向转换

晚上做多图上传的时候遇到一个问题,由于多图上传是3维数组格式。


而var_dump($arr=$_FILES);打印出来的是:

array(1) {
  ["file"]=>
  array(5) {
    ["name"]=>
    array(7) {
      [0]=>
      string(30) "鏆撮鎴浘20171267819893.jpg"
      [1]=>
      string(26) "鏂板缓鏂囨湰鏂囨。 (2).txt"
      [2]=>
      string(34) "浼氬憳娑堣垂姹囨€荤粺璁℃姤琛�.xls"
      [3]=>
      string(7) "log.txt"
      [4]=>
      string(14) "day02_ex-4.jpg"
      [5]=>
      string(7) "css.css"
      [6]=>
      string(14) "day02_ex-4.jpg"
    }
    ["type"]=>
    array(7) {
      [0]=>
      string(10) "image/jpeg"
      [1]=>
      string(10) "text/plain"
      [2]=>
      string(24) "application/vnd.ms-excel"
      [3]=>
      string(10) "text/plain"
      [4]=>
      string(10) "image/jpeg"
      [5]=>
      string(8) "text/css"
      [6]=>
      string(10) "image/jpeg"
    }
    ["tmp_name"]=>
    array(7) {
      [0]=>
      string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE711.tmp"
      [1]=>
      string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE712.tmp"
      [2]=>
      string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE713.tmp"
      [3]=>
      string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE714.tmp"
      [4]=>
      string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE724.tmp"
      [5]=>
      string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE735.tmp"
      [6]=>
      string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE736.tmp"
    }
    ["error"]=>
    array(7) {
      [0]=>
      int(0)
      [1]=>
      int(0)
      [2]=>
      int(0)
      [3]=>
      int(0)
      [4]=>
      int(0)
      [5]=>
      int(0)
      [6]=>
      int(0)
    }
    ["size"]=>
    array(7) {
      [0]=>
      int(81670)
      [1]=>
      int(0)
      [2]=>
      int(7680)
      [3]=>
      int(209)
      [4]=>
      int(570112)
      [5]=>
      int(8663)
      [6]=>
      int(570112)
    }
  }
}

这不是我们需要的信息,我们需要这种:

array(7) {
  [0]=>
  array(5) {
    ["name"]=>
    string(30) "暴风截图20171267819893.jpg"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(53) "C:\Users\Administrator\AppData\Local\Temp\php5648.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(81670)
  }
  [1]=>
  array(5) {
    ["name"]=>
    string(26) "新建文本文档 (2).txt"
    ["type"]=>
    string(10) "text/plain"
    ["tmp_name"]=>
    string(53) "C:\Users\Administrator\AppData\Local\Temp\php5658.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(0)
  }
  [2]=>
  array(5) {
    ["name"]=>
    string(34) "会员消费汇总统计报表.xls"
    ["type"]=>
    string(24) "application/vnd.ms-excel"
    ["tmp_name"]=>
    string(53) "C:\Users\Administrator\AppData\Local\Temp\php5659.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(7680)
  }
  [3]=>
  array(5) {
    ["name"]=>
    string(7) "log.txt"
    ["type"]=>
    string(10) "text/plain"
    ["tmp_name"]=>
    string(53) "C:\Users\Administrator\AppData\Local\Temp\php565A.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(209)
  }
  [4]=>
  array(5) {
    ["name"]=>
    string(14) "day02_ex-4.jpg"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(53) "C:\Users\Administrator\AppData\Local\Temp\php565B.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(570112)
  }
  [5]=>
  array(5) {
    ["name"]=>
    string(7) "css.css"
    ["type"]=>
    string(8) "text/css"
    ["tmp_name"]=>
    string(53) "C:\Users\Administrator\AppData\Local\Temp\php566C.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(8663)
  }
  [6]=>
  array(5) {
    ["name"]=>
    string(14) "day02_ex-4.jpg"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(53) "C:\Users\Administrator\AppData\Local\Temp\php566D.tmp"
    ["error"]=>
    int(0)
    ["size"]=>
    int(570112)
  }
}
foreach($arr['file'] as $key=>$val){
	foreach($val as $k=>$v){
		$data[$k][$key]=$v;
	}
}
var_dump($data);
这样的话,三维数组就可以安装我们想要的内容拼装好了。

扩展:我们需要做一个数组的拼装


foreach ($arr[file][name] as $key => $value) {
	echo "文件名:".$value."类型是:".$arr[file][type][$key]."临时文件为:".$arr[file][tmp_name][$key]."文件大小为:".$arr[file][size][$key]."错误号为:".$arr[file][error][$key]."<br/>";
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值