PHP - сортировать два массива одинаково - PullRequest
2 голосов
/ 29 марта 2012

У меня есть два разных массива. Один массив, a, для списка людей. Мой другой массив, b, для списка их возрастов. Я иду сортировать б по номеру, а затем перевернуть его, чтобы он шел в порядке убывания. Я добрался до этой части хорошо.

Как мне отсортировать (список имен людей), чтобы те же значения все еще были связаны с отсортированным списком?

Пример:

a содержит Боба, Сью, Фила и Дженни соответственно

b содержит 15, 12, 13 и 13 соответственно.

Я хочу, чтобы мой результат был:

a содержит Боба, Дженни, Фила и Сью соответственно

b содержит 15, 13, 13 и 12 соответственно

Ответы [ 2 ]

8 голосов
/ 29 марта 2012

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
 )
5 голосов
/ 29 марта 2012

Почему бы просто не использовать:

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

Тогда вы можете сортировать плавно.

...