2012-02-11 3 views
3

У меня есть массив супергерой по имени $heroes:Сортировка массива на основе массива - PHP

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

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

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

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

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

и с этим, я хотел бы полномочия для сортировки на основе массива $ героев так, что он показывает это:

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

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

ответ

4

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

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

или просто (проще):

array_multisort($heroes, $powers); 

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

+0

спасибо так много! –

1
$array3 = array_combine($array1, $array2); 
asort($array3); 

$array1 = array_keys($array3); 
$array2 = array_values($array3); 
Смежные вопросы