我想对以下数组的键进行排序。我使用ksort(),但我不知道如何使用它。有什么想法吗?
<?php
$a = array(
'kuy' => 'kuy',
'apple' => 'apple',
'thida' => 'thida',
'vanna' => 'vanna',
'ravy' => 'ravy'
);
$b = ksort($a);
echo "<pre>";
print_r($b);
echo "</pre>";
答案 0 :(得分:4)
ksort()
对数组本身进行排序,但不创建排序副本
$a = array(
'kuy' => 'kuy',
'apple' => 'apple',
'thida' => 'thida',
'vanna' => 'vanna',
'ravy' => 'ravy'
);
ksort($a);
echo "<pre>";
print_r($a);
echo "</pre>";
答案 1 :(得分:2)
ksort不会返回数组。它只是对原始数组进行排序,并返回bool“成功时返回TRUE,失败时返回FALSE。”
所以你的排序数组是$ a,而不是$ b。 看到这里: http://codepad.org/zMTFTPGf
答案 2 :(得分:2)
答案 3 :(得分:2)
如果您不想保留$ a的原始订单,请使用: -
ksort($a);
print_r($a);
如果你想保留$ a,还想要使用排序版本: -
$b = $a;
ksort($b);
print_r($b);
正如我在评论中所说,手册页非常清楚。 http://www.php.net/manual/en/function.ksort.php
答案 4 :(得分:1)
ksort返回布尔值并对原始数组进行排序,因此您应该打印$a
而不是$b
,因为$b
是ksort返回的布尔值,它是真的或者取决于ksort的结果
ksort($a);
print_r($a);
答案 5 :(得分:1)
答案 6 :(得分:1)
ksort
通过引用获取其参数并直接修改它,返回值只表示syccess或failure。
答案 7 :(得分:0)
ksort返回一个关于它是否成功的布尔值,它不会返回另一个已排序的数组。它改变了原始数组。
print_r($a);
答案 8 :(得分:0)
正如菲利克斯所说,看一下文档。您还可以查看示例here