我正在关注名为$_FILES
的数组:
Array
(
[document_file_name_2] => Array
(
[name] => FAQ.doc
[type] => application/msword
[tmp_name] => /tmp/phpDnXqMX
[error] => 0
[size] => 35840
)
[document_file_name_5] => Array
(
[name] => Pay Slip-Sushil Kadam-June 2013.pdf
[type] => application/pdf
[tmp_name] => /tmp/php97sAKI
[error] => 0
[size] => 39648
)
)
由于此数组是动态生成的,因此它的长度可能会有所不同。现在我想要实现的是改变现有数组键的一部分。我想让数组键从键[document_file_name_0]
开始,依此类推。执行操作后应该会出现以下数组。任何人都可以帮助我如何实现这一目标?以下是所需的$_FILES
数组:
Array
(
[document_file_name_0] => Array
(
[name] => FAQ.doc
[type] => application/msword
[tmp_name] => /tmp/phpDnXqMX
[error] => 0
[size] => 35840
)
[document_file_name_1] => Array
(
[name] => Pay Slip-Sushil Kadam-June 2013.pdf
[type] => application/pdf
[tmp_name] => /tmp/php97sAKI
[error] => 0
[size] => 39648
)
)
提前致谢。
答案 0 :(得分:1)
$newArray=array();
$fileNum=0;
foreach ($originalArray as $file) {
$newArray["document_file_name".$fileNum++]=$file;
}
$ newArray的内容应该是您正在寻找的内容
答案 1 :(得分:0)
使用array_values
获取数组中的值创建一个新数组并循环遍历array_values并在新数组中设置你的 custom_key =>价值对
答案 2 :(得分:0)
$counter = 0;
foreach ($array as $key => $values) {
if ($key != 'document_file_name_' . $counter) { // If by coincidence this one is correct already, no need to rename/delete the original
$array['document_file_name_' . $counter] = $array[$key];
unset($array[$key]);
}
$counter++;
}
答案 3 :(得分:0)
我知道最好的(根据OP)问题被选中,但我仍然急于说你可以使用几乎每个PHP循环:
@RubenSerrate foreach()$newArray=array();
$fileNum=0;
foreach ($originalArray as $file) {
$newArray["document_file_name".$fileNum++]=$file;
}
$newArr = array();
$length = count($_FILES);
for ($i=0; $i<$length; $i++) {
$newArr["document_file_name_".$i] = array_shift($_FILES);
}
<强> while() 强>
$newArr = array();
$i=0;
while ($_FILES) {
$newArr["document_file_name_".$i] = array_shift($_FILES);
$i++;
}
+所有其他示例+所有其他未提及的方法。
学习PHP并祝你好运!