我想对以下数组的键进行排序。我用ksort(),但我不知道怎么用。知道吗?
<?php
$a = array(
'kuy' => 'kuy',
'apple' => 'apple',
'thida' => 'thida',
'vanna' => 'vanna',
'ravy' => 'ravy'
);
$b = ksort($a);
echo "<pre>";
print_r($b);
echo "</pre>";
ksort()
对数组本身进行排序,不创建排序副本
$a = array(
'kuy' => 'kuy',
'apple' => 'apple',
'thida' => 'thida',
'vanna' => 'vanna',
'ravy' => 'ravy'
);
ksort($a);
echo "<pre>";
print_r($a);
echo "</pre>";
您可以在这里找到答案:http://php.net/manual/de/function.ksort.php
使用它就像:
ksort($a);
则$a被排序。
如果您不想保留$a的原始订单,请使用:-
ksort($a);
print_r($a);
如果你想保留$a,但也想要一个排序的版本,请使用:-
$b = $a;
ksort($b);
print_r($b);
正如我在评论中所说的,手册页非常清楚。http://www.php.net/manual/en/function.ksort.php
ksort不返回数组。它只是对原始数组进行排序,并返回bool"成功时返回TRUE,失败时返回FALSE。"
所以您的排序数组是$a,而不是$b。请在此处查看:http://codepad.org/zMTFTPGf
ksort返回布尔值并对原始数组进行排序,因此您应该打印$a
而不是$b
,因为$b
是ksort返回的布尔值,根据ksort 的结果,它是true还是false
ksort($a);
print_r($a);
ksort
返回一个布尔值-无论排序是否成功。它在适当的位置对数组进行排序,即更改数组变量,而不是返回排序后的副本。
尝试:
ksort($a);
print_r($a);
ksort
通过引用获取其参数并直接对其进行修改,返回值仅表示成功或失败。
ksort返回一个关于是否成功的布尔值,它不返回另一个排序数组。它会更改原始数组。
print_r($a);
正如Felix所说,请查看文档。您也可以在这里查看示例