Сортировать массив на основе массива - php - PullRequest
3 голосов
/ 11 февраля 2012

У меня есть массив супергероев с именем $heroes:

$heroes=array("Hulk","Spiderman","IronMan");

и у меня есть массив базовых способностей с именем $powers:

$powers=array("Strong","Webs","Machine");

Я бы хотел отсортировать массив $heroes по алфавиту, чтобы он отображал это:

$heroes=array("Hulk","IronMan","Spiderman");

и с этим я хотел бы отсортировать полномочия на основе массива $ heroes, чтобы он отображал это:

$powers=array("Strong","Machine","Webs");

Я не хотел бы использовать двумерный массив - мне нужно, чтобы они были в отдельных массивах. Есть идеи?

Ответы [ 3 ]

4 голосов
/ 11 февраля 2012

Да, вы можете, вот для чего array_multisort(), маленький пример:

array_multisort( $heroes, SORT_ASC|SORT_STRING, $powers);

Или просто (просто):

array_multisort( $heroes, $powers);

Но лучше сделать тип сортировки и порядок сортировки явным.

1 голос
/ 11 февраля 2012
$array3 = array_combine($array1, $array2);
asort($array3);

$array1 = array_keys($array3);
$array2 = array_values($array3);
1 голос
/ 11 февраля 2012
array_multisort($heroes,$powers);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...