Как я могу «переупорядочить» ключи в множественном массиве? Например, у меня есть:
$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;
но, похоже, это не работает.
Любая помощь будет оценена.
EDIT:
В частности, я пытаюсь перебрать все элементы, представленные в $_FILES
, поскольку им всем нужно сделать то же самое. По умолчанию, когда в форме более одного <input type="file" name="filedata[]" />
, они переходят на $_FILES["filedata"]["name"][$index]
. ("name"
или любой другой параметр), поэтому я не могу просто перебрать каждый $_FILES["filedata"]
, чтобы получить все; таким образом, мне нужны ключи $_FILES["filedata"]
в обратном порядке.