php排序关联

时间:2011-02-25 19:55:40

标签: php arrays sorting

我正在尝试对数组进行排序,并且我一直得到1

的结果

这里是代码请求帮助

            $foo = array(
                2 => "Sports",
                40 => "Parent and Families",
                43 => "Arts and Entertainment",
            );
            $foo = sort($foo);

我希望它们按值排序

3 个答案:

答案 0 :(得分:5)

Sort不返回已排序的数组。成功时返回TRUE为FALSE。该数组通过引用传递。所以调用方法然后使用它

$foo = array(
                2 => "Sports",
                40 => "Parent and Families",
                43 => "Arts and Entertainment",
            );
            sort($foo); //foo is now sorted 

修改

但请注意,sort()实际上会重新分配您的索引。如果要保持关联,则应使用asort()而不是排序

答案 1 :(得分:2)

如果您需要维护索引关联,请使用asort(array &$array [, int $sort_flags = SORT_REGULAR])。请注意$ array上的引用传递( - >检查手册输出的函数)。

$foo = array(
    2 => "Sports",
    40 => "Parent and Families",
    43 => "Arts and Entertainment",
);
asort($foo);
print_r($foo);

打印

Array
(
    [43] => Arts and Entertainment
    [40] => Parent and Families
    [2] => Sports
)

答案 2 :(得分:1)