我有一个问题需要重新排列数组。这是我的最后一个数组:
Array
(
[5833261e-dc14-48e3-9ee1-682a7f000201] => Array
(
[344] => apple - 344
[345] => apple - 345
[acc_name] => Apple 1233 - acc_name
)
[58332069-fab4-44c7-9ac9-487b7f000201] => Array
(
[343] => apple 123456 - 343
[acc_name] => Orange Test - acc_name
)
)
我想将其重新排列为以下内容:
Array
(
[Apple 1233 - acc_name] => Array
(
[344] => apple - 344
[345] => apple - 345
)
[Orange Test - acc_name] => Array
(
[343] => apple 123456 - 343
)
)
所以大家可以请你实现这个输出数组。
答案 0 :(得分:2)
你可以这样做: -
$new_array = array();
foreach ($array as $key=>$val){
$acc_name = $val['acc_name'];
unset($array[$key]['acc_name']);
$new_array[$acc_name] = $array[$key];
}
echo "<pre/>";print_r($new_array);
注意: - 完成后,您可以将此新数组分配给原始数组,例如$array = $new_array
根据评论做一件事: -
$new_array = array();
foreach ($array as $key=>$val){
$acc_name = $val['acc_name'];
unset($array[$key]['acc_name']);
$new_array[$acc_name][] = $array[$key];
}
echo "<pre/>";print_r($new_array);
注意: - 在数组中,如果相同的索引即将到来,则新数据将替换为旧数据。所以尝试第二个解决方案
答案 1 :(得分:0)
阅读此链接,可能会对您有所帮助