PHP - 以相同的方式排序两个数组

时间:2012-03-29 01:09:53

标签: php arrays sorting text numeric

我有两个不同的数组。一个数组,a,用于人员列表。我的另一个数组b,列出了他们的年龄。我按数字排序b,然后将其反转,使其按降序排列。我完成了这部分。

如何对(人名​​列表)进行排序,以便相同的值仍与排序列表配对?

示例:

a分别包含Bob,Sue,Phil和Jenny

b分别包含15,12,13和13。

我希望我的结果是:

分别包含Bob,Jenny,Phil和Sue

b分别包含15,13,​​13和12

2 个答案:

答案 0 :(得分:8)

http://php.net/manual/en/function.array-multisort.php

使用参考中的示例#1:

$a = array('Bob', 'Sue', 'Phil', 'Jenny');
$b = array(15, 12, 13, 13);
array_multisort($a, $b);
print_r($a);
> Array
 (
 [0] => Bob
 [1] => Jenny
 [2] => Phil
 [3] => Sue
 )
print_r($b);
> Array
 (
 [0] => 15
 [1] => 13
 [2] => 13
 [3] => 12
 )

答案 1 :(得分:5)

为什么不使用:

$arr = array('Bob'=>15,'Sue'=>12,'Phil'=>13,'Jenny'=>13);

然后你可以顺利排序。