用PHP排序字符串数组

时间:2015-08-28 13:13:56

标签: php arrays sorting

我有一个ID:名字数组

示例:

$datas = array();
$datas[2345] = "Banana";
$datas[5740] = "Apple";
$datas[98763]= "Orange";

我的决定是按字母顺序对数组进行排序。

var_dump($datas);
//"4536" => "Apple", "2345" => Banana", "98763" => "Orange"

我尝试使用usort但它不起作用。

 usort($datas, function ($a, $b) {
            return strcasecmp($a,$b);
        });

如何按字母顺序排列数组之王?

5 个答案:

答案 0 :(得分:3)

使用asort功能:

asort($datas);

答案 1 :(得分:2)

您甚至不需要usort只需使用asort作为

asort($datas);

或者你可以简单地使用uasort代替usort,因为你需要让你的密钥也可以简单地用作

uasort($datas,'strcasecmp');

答案 2 :(得分:1)

asort是您正在寻找的内容,它将按字母顺序对其进行排序,如下所示。

$datas = array();
$datas[2345] = "Banana";
$datas[5740] = "Apple";
$datas[98763]= "Orange";

asort($datas);

var_dump($datas);

array(3) { [5740]=> string(5) "Apple" [2345]=> string(6) "Banana" [98763]=> string(6) "Orange" }

答案 3 :(得分:1)

asort(); 

From PHP Manual

  

此函数对数组进行排序,使数组索引保持其状态   与它们相关的数组元素的相关性。这是   主要用于排序实际元素所在的关联数组   订单很重要。

$datas = array();
$datas[2345] = "Banana";
$datas[5740] = "Apple";
$datas[98763]= "Orange";

asort($datas);

现在,当您希望看到var_dump($datas);的输出时,您会看到:

array(3) {[5740]=> string(5) "Apple" [2345]=> string(6) "Banana" [98763]=> string(6) "Orange"}

答案 4 :(得分:1)

使用php数组函数中的asort()

请参阅Array Functions

    <?php
    $datas = array();
    $datas[2345] = "Banana";
    $datas[5740] = "Apple";
    $datas[98763]= "Orange";

    asort($datas);

    print_r($datas);
    //Array ( [5740] => Apple [2345] => Banana [98763] => Orange )