php: alphabetically sort multi-dimensional array by its key?
我正在尝试做与上面线程中的人完全相同的事情。但是我的ksort($ array)似乎返回了一个数字1.我做错了什么?
答案 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。