array(2) { ["name"]=>array(2) { [0-6ren">
gpt4 book ai didi

php - 为什么 php 将 $_FILES 值按名称、类型而不是输入文件名的顺序分组?

转载 作者:可可西里 更新时间:2023-11-01 01:13:08 25 4
gpt4 key购买 nike

当我上传文件数组时,我得到以下数组。

array(1) { 
["upload"]=>array(2) {
["name"]=>array(2) {
[0]=>string(9)"file0.txt"
[1]=>string(9)"file1.txt"
}
["type"]=>array(2) {
[0]=>string(10)"text/plain"
[1]=>string(10)"text/html"
}
...
}
}

以上述格式而不是以下格式接收的数组背后的原因(技术原因或任何好处)是什么?

array(1) { 
["upload"]=>array(2) {
[0]=>array(2) {
["name"]=>string(9)"file0.txt"
["type"]=>string(10)"text/plain"
...
},
[1]=>array(2) {
["name"]=>string(9)"file1.txt"
["type"]=>string(10)"text/html"
...
}
}
}

最佳答案

我认为这是 $_FILES 现在提供数组的基本方式,如果你想将它转换成你指定的甲酸盐,我从 link 中找到了代码。

当您使用输入名称作为数组时,重新排序 $_FILES 数组的一个好技巧是:

<?php 
function diverse_array($vector) {
$result = array();
foreach($vector as $key1 => $value1)
foreach($value1 as $key2 => $value2)
$result[$key2][$key1] = $value2;
return $result;
}
?>

将改变这个:

array(1) { 
["upload"]=>array(2) {
["name"]=>array(2) {
[0]=>string(9)"file0.txt"
[1]=>string(9)"file1.txt"
}
["type"]=>array(2) {
[0]=>string(10)"text/plain"
[1]=>string(10)"text/html"
}
}
}

进入:

array(1) { 
["upload"]=>array(2) {
[0]=>array(2) {
["name"]=>string(9)"file0.txt"
["type"]=>string(10)"text/plain"
},
[1]=>array(2) {
["name"]=>string(9)"file1.txt"
["type"]=>string(10)"text/html"
}
}
}

只是做:

<?php $upload = diverse_array($_FILES["upload"]); ?>

关于php - 为什么 php 将 $_FILES 值按名称、类型而不是输入文件名的顺序分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47708339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com