为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这个else if会是写$file['name']开始遍历?

老师讲的很好,就是这个三维数组有点不理解  为什么这个else if会是写$file['name']开始遍历  我觉得应该写$file这个,老师现在遍历$file['name'] 就应该进$file['name']去遍历他的[0][1]...去了啊,什么时间会出来,遍历$file['type']等后面的四个?

正在回答

4 回答

我想很久没有明白,按我现在的理解,对不对先不说,毕竟我也是小白,至少先说下我的理解。

foreach ($file['name'] as $key => $val) {
$files[$i]['name']=$file['name'][$key];
$files[$i]['type']=$file['type'][$key];
$files[$i]['tmp_name']=$file['tmp_name'][$key];
$files[$i]['error']=$file['error'][$key];
$files[$i]['size']=$file['size'][$key];
$i++;}

这里时foreach了$file数组。所以可以在foreach内部对name,type等进行操作。

这是我的见解,如果是错的,请指正。

0 回复 有任何疑惑可以回复我~

根据楼上的意思其实这一段写成这样更好理解了

for($j = 0; $j < 4; $j++){

                   $files[$i]['name']     =@ $file['name'][$j];

                   $files[$i]['type']     =@ $file['type'][$j];

                   $files[$i]['tmp_name'] =@ $file['tmp_name'][$j];

                   $files[$i]['error']    =@ $file['error'][$j];

                   $files[$i]['size']     =@ $file['size'][$j];

                   $i++;

               }


0 回复 有任何疑惑可以回复我~

这个我也是想了大约十分钟吧,我大概说一下我是这样理解的,其实我们遍历这个只是为了得到那个$file["name"]中的下标$key,不是为了得到它的$val值,上传四张就有四个下标0-3,比如我们第一次遍历,得到的$key是0,此时我们只需要将$file["name"]、$file["type"]......中的下标为0的值赋给我们$files数组中的第i个二维数组就行了,希望能帮到你吧。

1 回复 有任何疑惑可以回复我~

这是要拆分数组

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这个else if会是写$file['name']开始遍历?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信