【发布时间】:2009-06-22 20:12:59
【问题描述】:
如何“重新排序”多数组中的键?例如,我有:
$arr["abc"][0] = "val1";
$arr["abc"][1] = "val2";
$arr["abc"][2] = "val3";
$arr["xyz"][0] = "val4";
$arr["xyz"][1] = "val5";
$arr["xyz"][2] = "val6";
我希望它是:
$arr[0]["abc"] = "val1";
$arr[0]["xyz"] = "val4";
$arr[1]["abc"] = "val2";
$arr[1]["xyz"] = "val5";
$arr[2]["abc"] = "val3";
$arr[2]["xyz"] = "val6";
我目前的努力是:
foreach ($arr as $param => $num) foreach ($num as $val) $newArr[$num][$param] = $val;
但它似乎不起作用。 任何帮助将不胜感激。
编辑:
具体来说,我正在尝试遍历在$_FILES 上提交的所有元素,因为它们都需要对它们执行相同的操作。默认情况下,当一个表单中有多个<input type="file" name="filedata[]" /> 时,它们会转到$_FILES["filedata"]["name"][$index]。 ("name" 或任何其他参数),所以我不能只遍历每个$_FILES["filedata"] 来获取所有内容;因此,我需要将$_FILES["filedata"] 的键反转。
【问题讨论】: