我有一个如下数组:
Array (
[id] => Array
(
[0] => 3321
[1] => 3318
[2] => 3320
[3] => 3319
[4] => 3324
[5] => 3322
)
[name] => Array
(
[0] => Carla Taku
[1] => Honey-Pearl Te Moni
[2] => Monique Koroua
[3] => Summer Hellier
[4] => Wayne Kahukiwa
[5] => Natasha Merito
)
[courses] => Array
(
[0] => 2
[1] => 1
[2] => 1
[3] => 1
[4] => 1
[5] => 1
)
)
我想通过" name"对此进行排序,但我无法解决如何执行此操作的问题?由于其他一些代码,我无法使其成为多维的。我尝试过usort,ksort,array_sort,array_multisort,但我没有经验足以对此进行排序。有人有什么建议吗?请温柔,我对这些人不熟悉。谢谢。 :)
答案 0 :(得分:4)
我认为array_multisort
就是你所追求的:
array_multisort($array['name'], $array['id'], $array['courses']);
答案 1 :(得分:1)
我昨天偶然发现了整理的东西。希望这可以给你一些提示。
function SortByName($a,$b){
return strcasecmp($a['name'], $b['name']);
}
usort($YourArray, 'SortByName');
答案 2 :(得分:0)
抱歉没有使用你的特定阵列,我很懒,哈哈。然而,这应该对你有用,很容易就像馅饼一样。
$ar = array(
array("10", 11, 100, 100, "a"),
array(1, 2, "2", 3, 1)
);
$temp = $ar[1];
$count = 0;
asort($ar[0]);
foreach ($ar[0] as $key => $value) {
$ar[1][$count] = $temp[$key];
$count++;
}
print_r($ar);