Второй массив не отсортирован, как указано в array_multisort php
У меня есть два массива, и я хочу отсортировать первый массив в порядке возрастания, где я хочу отсортировать второй массив в порядке убывания в PHP. Так что я использовал array_multisort()
функция. Первый массив отсортирован, как и ожидалось, но второй массив не отсортирован, как я хочу.
Ниже приведен код.
<?php
$array1 = array("ninja","pirate","assasin","superhero");
$array2 = array("elephant","panda","eagle","snake");
echo "<pre>";
echo "Array 1.) <br />";
print_r($array1);
echo "<hr />Array 2.) <br />";
print_r($array2);
array_multisort($array1,SORT_ASC,$array2,SORT_DESC);
echo "<hr/>New Sorted Array 1.) <br />";
print_r($array1);
echo "<hr />";
echo "New Sorted Array 2.) <br />";
print_r($array2);
echo "</pre>";
?>
Я новичок в PHP. Пожалуйста, прокомментируйте ниже для любого запроса.
2 ответа
Я не думаю, что вы понимаете, как работает array_multisort. Если вы проверите первый пример в руководстве, он перегруппирует второй массив в зависимости от того, как был отсортирован первый.
Если вы хотите отсортировать их независимо, используйте sort и rsort, например так:
sort($array1);
rsort($array2);
Будь проще...
array_multisort($array1, SORT_ASC, SORT_STRING);
array_multisort($array2, SORT_DESC, SORT_STRING);