第二个数组未按照array_multisort php的指定进行排序

时间:2017-06-11 15:41:40

标签: php arrays sorting

我有两个数组,我想按升序排序第一个数组,因为我想在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 个答案:

答案 0 :(得分:1)

保持简单......

array_multisort($array1, SORT_ASC, SORT_STRING);
array_multisort($array2, SORT_DESC, SORT_STRING);

答案 1 :(得分:1)

我认为您不了解array_multisort的工作原理。如果您检查手册中的第一个示例,它将根据第一个数组的排序方式重新定向第二个数组。

如果您想要对它们进行独立排序,请使用sortrsort,如下所示:

sort($array1);
rsort($array2);