Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中,如何从键开始按升序对数组排序?_Php_Arrays_Sorting - Fatal编程技术网

在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