Php按键排序多维数组

时间:2011-09-02 07:32:24

标签: php arrays sorting key

php: alphabetically sort multi-dimensional array by its key?

我正在尝试做与上面线程中的人完全相同的事情。但是我的ksort($ array)似乎返回了一个数字1.我做错了什么?

4 个答案:

答案 0 :(得分:8)

查看manual

  

bool ksort(数组& $ array [,int $ sort_flags = SORT_REGULAR])

你看,ksort返回一个布尔值,并直接在给定数组上工作(注意引用符号&)。所以你可能正在做的是分配ksort的返回值,如:

$array = ksort($array);

代替,只是:

ksort($array);

答案 1 :(得分:3)

该函数进行就地排序,该函数在成功时返回TRUE,在失败时返回FALSE。

请参阅http://php.net/manual/en/function.ksort.php

中的示例
<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
foreach ($fruits as $key => $val) {
    echo "$key = $val\n";
}
?>

排序后的结果位于变量$ fruits中,而不是函数的返回值。

如果你尝试print_r($ fruits),你会得到这样的结果

Array
(
    [a] => orange
    [b] => banana
    [c] => apple
    [d] => lemon
)

答案 2 :(得分:0)

ksort()不返回数组,它会操纵传递给它的数组。

答案 3 :(得分:0)

它不会返回1,它返回true:

  

http://php.net/manual/en/function.ksort.php

     

返回值

     

成功时返回TRUE,失败时返回FALSE。