在PHP中,如何从键开始按升序对数组排序?
我有以下数组:在PHP中,如何从键开始按升序对数组排序?,php,arrays,sorting,Php,Arrays,Sorting,我有以下数组: $arr = array('XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); 现在,使用一个函数,我在前一个数组的基础上生成以下数组。执行print\r($new\u arr)并在pre标记中回显时,这是输出: Array ( [4] => l [3] => m [2] => s [5] => xl [1] =>
$arr = array('XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
现在,使用一个函数,我在前一个数组的基础上生成以下数组。执行print\r($new\u 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\u arr
时,这是输出(它只是第一个):
我不确定这里到底出了什么问题。提前感谢。返回一个布尔值,而不是排序数组。改为输出
$new\u arr
变量。返回一个布尔值,而不是排序数组。输出$new\u arr
变量。如果您阅读了文档。您将发现ksort
在成功时返回TRUE
,在失败时返回FALSE
。打印$new\u arr
相反,如果您仔细阅读文档,它会作为引用传递给ksort()
。您将发现ksort
在成功时返回TRUE
,在失败时返回FALSE
。打印$new\u arr
相反,它作为引用传递给ksort()
您要查找的是函数
请注意,该函数将对输入数组进行适当排序,而不是返回已排序的版本。返回值是布尔值,仅表示成功或失败。您要查找的是函数
请注意,该函数将对输入数组进行适当排序,而不是返回已排序的版本。返回值是布尔值,仅表示成功或失败。
ksort
不返回已排序的数组,它使用数组的引用。您会发现传入的数组应该进行排序。ksort对数组进行排序并返回true/false。你不需要分配任何东西ksort
不返回已排序的数组,它使用数组的引用。您会发现传入的数组应该进行排序。ksort对数组进行排序并返回true/false。你不需要分配任何东西。啊哈!我懂了。我不应该分配ksort()
。Thanks@nTuply这发生在我们其他人身上。只要练习阅读文档并记下返回的值,就可以了。祝你好运,发展愉快!啊哈!我懂了。我不应该分配ksort()
。Thanks@nTuply这发生在我们其他人身上。只要练习阅读文档并记下返回的值,就可以了。祝你好运,发展愉快!
1