我有一个像这样的数组
Array
(
[bms] => Array
(
[0] => 123456_bms_for__on__(10-06-2015_18-57).pdf
)
[fr] => Array
(
[0] => 123456_fr_on_09-21-2015_(09-22-2015_11-46).pdf
)
[pcm] => Array
(
[0] => 123456_pcm_for_vignesh_on__(10-12-2015_12-30).pdf
)
[fds] => Array
(
[0] => 123456_fds_ext_for__on__(08-25-2015_10-23).pdf
)
[dr] => Array
(
[0] => 123456_dr_for__on___(10-23-2015_13-06).pdf
)
)
我想订购这个数组(bms,dr,fds,pcm,fr)命令
Array
(
[bms] => Array
(
[0] => 123456_bms_for__on__(10-06-2015_18-57).pdf
)
[dr] => Array
(
[0] => 123456_dr_for__on___(10-23-2015_13-06).pdf
)
[fds] => Array
(
[0] => 123456_fds_ext_for__on__(08-25-2015_10-23).pdf
)
[pcm] => Array
(
[0] => 123456_pcm_for_vignesh_on__(10-12-2015_12-30).pdf
)
[fr] => Array
(
[0] => 123456_fr_on_09-21-2015_(09-22-2015_11-46).pdf
)
)
请帮我整理数组,帮助我按新的顺序实现数组 如何根据键值排列数组
答案 0 :(得分:2)
您可以使用 uksort
PHP功能。
uksort()将使用用户提供的比较函数对数组的键进行排序。如果要排序的数组需要按照一些非平凡的标准进行排序,则应使用此函数。
$sortOrder = array("bms", "dr", "fds", "pcm", "fr");
uksort($yourArray, function($a, $b) use ($sortOrder) {
return array_search($a, $sortOrder) - array_search($b, $sortOrder);
});
答案 1 :(得分:2)
您可以像{/ p>一样使用uksort
$pos = ['bms', 'dr', 'fds', 'pcm', 'fr'];
uksort($arr, function ($a, $b) use ($pos) {
foreach ($pos as $value) {
if ($value == $a) {
return 0;
break;
}
if ($value == $b) {
return 1;
break;
}
}
});