PHP数组排序和输出行为

Dee*_*epu 2 php arrays sorting

我有这个数组

$arr = array('key1' => 1, 'key3' => 3, 'key2' => 2);
Run Code Online (Sandbox Code Playgroud)

现在我想按值的降序对数组进行排序。所以我尝试了以下操作

arsort($arr);
print_r($arr);
Run Code Online (Sandbox Code Playgroud)

输出

Array(
    [key3] => 3
    [key2] => 2
    [key1] => 1 
)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试以下操作时,我得到的输出为 1

print_r(arsort($arr));
Run Code Online (Sandbox Code Playgroud)

由于我正在对数组进行排序,然后在两种情况下都输出,为什么它会给我不同的输出?

use*_*035 5

为什么它给我不同的输出?

查看函数文档

bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

此函数对数组进行排序,以便数组索引保持与其关联的数组元素的相关性。

成功时返回 TRUE,失败时返回 FALSE。

它使用对数组的引用,对其进行排序,然后在第一种情况下输出排序后的数组。

在第二种情况下,您正在输出函数的结果 - 它返回 TRUE,表明排序成功。