我有以下数组:
$arr = array('XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
现在,我使用一个函数,在上一个数组的基础上生成以下数组。当执行print_r($new_arr)
并在pre
标签中回显时,这是输出:
Array
(
[4] => l
[3] => m
[2] => s
[5] => xl
[1] => xs
)
然而,我正在努力实现这一点:
Array
(
[1] => xs
[2] => s
[3] => m
[4] => l
[5] => xl
)
现在,我在S.O上做了一些搜索,找到了关于ksort
函数的信息。在PHP文档中的进一步阅读表明,这是要使用的值,但当我按如下方式使用ksort
和回显输出时,我只得到值1
,而不是我在上一段中期望得到的值数组:
$sorted_arr = ksort($new_arr);
在pre
标签中回显$sorted_arr
时,这是输出(它只是第一个):
1
我真的不确定这里出了什么问题。提前谢谢。
$new_arr
变量。
如果您浏览此处的文档。您会发现ksort
在成功时返回TRUE
,而在失败时则返回FALSE
。打印$new_arr
,它被作为对ksort()
的引用传递。
您要查找的是krsort函数。
请注意,该函数对输入数组进行适当排序,而不是返回排序后的版本。返回值是一个bool,仅表示成功或失败。