PHP 数组排序和输出行为

标签 php arrays sorting

我有这个数组

$arr = array('key1' => 1, 'key3' => 3, 'key2' => 2);

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

arsort($arr);
print_r($arr);

输出

Array(
    [key3] => 3
    [key2] => 2
    [key1] => 1 
)

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

print_r(arsort($arr));

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

最佳答案

why its giving me different outputs?

查看function documentation :

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

This function sorts an array such that array indices maintain their correlation with the array elements they are associated with.

Returns TRUE on success or FALSE on failure.

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

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

关于PHP 数组排序和输出行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25156213/

相关文章:

c++ - 根据分量 ​​1、2(和 3)对空间(2D/3D) vector 的 vector 进行排序

java - 类似泛型的局部变量

PHP - 与父级一起创建评论列表

java - 如何在Java中的快速排序中计算比较和交换?

javascript - AJAX 调用 PHP 数组 - 使用 jQuery/JSON

javascript - 比较同一数组的当前版本和先前版本以了解 JavaScript 中值的变化

c++ - “如何使用 C++ 将字符串的第一个和最后一个索引返回到 vector 中?

c++ - 使用常量变量作为数组的大小

php - 从 PHP 使用 LDAP 验证用户

javascript - 使用 PHP 登录 Google+