`
ycmhn
  • 浏览: 23613 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

arsort的疑问

阅读更多
今天遇到了一个小问题,
用arsort排序后发现如果值相等的话,顺序会变得莫名其妙
用几个小例子做了实验 结果如下
<?php
$a=array('v' =>0 ,'c' => 0 ,'t' => 0 , 'p' => 0);
print_r(arsort($a));
print_r($a);
?>
^Z
1Array
(
    [p] => 0
    [t] => 0
    [c] => 0
    [v] => 0
)

所以我估计,实现的时候arsort是用另外一个新数组接受原数组中最小的push进去,然后元数组一个个减少,最后全转移到新数组时就是已经排好序的,在此列中所有值相等,则第一个元素在结果数组里的最后一个。。。依此类推...结果就和原数组相反。
有时间了去看看源码就知道了
分享到:
评论

相关推荐

    php arsort 数组降序排序详细介绍

    ### arsort函数基本语法 arsort函数的基本语法如下: ```php bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) ``` - `array` 参数是必需的,它指定了要排序的数组。 - `sort_flags` 参数是可选...

    2024年 php sort面试题目

    - **arsort()**: 与 `asort()` 相反,按值降序排序,同样保持键与值的关系。 - **ksort()**: 按照键名升序排序,适用于键为字符串的情况。 - **krsort()**: 类似 `ksort()`,但是按键名降序排序。 #### 二、降序...

    PHP网站编程技术-PHP数组.doc

    接着,为了实现成绩的降序排序,首先创建了一个新的数组`$scored`,将`$_SESSION`中的值(即成绩)作为键值,然后调用了`arsort()`函数。`arsort()`是PHP内置的排序函数,它能保持关联数组的键值关系并按值逆序排列...

    PHP程序设计-3期(KC016) 2.7.4 数组操作(排序)常见问题.docx

    - `arsort()`:按降序对关联数组的键值对进行排序,保持键与值的关联。 - `ksort()`:按升序对数组的键进行排序,保持键与值的关联。 - `krsort()`:按降序对数组的键进行排序,保持键与值的关联。 - `usort()`:...

    PHP程序设计-3期(KC016) 2.7.4 数组操作(排序)课后习题.doc

    - `arsort()`:对关联数组进行降序排序,保持键值关联。 - `ksort()`:根据关联数组的键进行升序排序。 - `krsort()`:根据关联数组的键进行降序排序。 - `usort()`, `uasort()`, `uksort()`:用户自定义排序函数,...

    php中计算未知长度的字符串哪个字符出现的次数最多的代码

    arsort:对数组进行逆向排序并保持索引关系。主要用于对那些单元顺序很重要的结合数组进行排序。$str=”asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas”;//任意长度字符串 复制代码 代码如下: $arr=str_...

    PHP数组的使用

    这里我们使用`arsort()`: ```php arsort($student); foreach ($student as $key =&gt; $value) { echo "姓名:" . $value['姓名'] . ", 分数:" . $value['分数'] . " "; } ``` 以上就是关于PHP数组使用的基本...

    php实例分享之二维数组排序

    PHP一维数组的排序可以用sort(),asort(),arsort()等函数; ... 以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义: 复制代码 代码如下:function array_sort($arr,$keys,$... }else{ arsort($key

    PHP统计数值数组中出现频率最多的10个数字的方法

    arsort函数则是用来对数组进行降序排序,它保留了数组键名与值之间的关联,也就是说在排序之后,数组中的键值对仍然是一一对应的。当和array_count_values一起使用时,我们能够通过arsort对频率进行排序,得到一个从...

    PHP数组排序函数合集 以及它们之间的联系分析

    `arsort()` 与 `asort()` 类似,但它是按值降序排序关联数组,同时保持键值对的对应关系。 ```php $fruits = array("d" =&gt; "lemon", "a" =&gt; "orange", "b" =&gt; "banana", "c" =&gt; "apple"); arsort($fruits); var_...

    php中3种方法统计字符串中每种字符的个数并排序

    ### 方法一:使用`str_split()` + `array_count_values()` + `arsort()` ```php function countStr($str){ $str_array = str_split($str); $str_array = array_count_values($str_array); arsort($str_array); ...

    php获取字符串中各个字符出现次数的方法

    ralajfe***分割为数组,array_count_values则统计数组中每个值(字符)出现的次数,并以关联数组的形式返回,最后使用arsort函数对数组进行降序排序,从而得到每个字符及其出现的次数。 2. 使用自定义数组计数方法 ...

    php排序php排序php排序php排序

    在处理关联数组时,`asort()`和`arsort()`可以基于值进行排序,这在显示数据时特别有用,例如按照国家名的字母顺序显示国家列表。 了解这些基本的排序函数是PHP编程中的一项重要技能,它们可以帮助开发人员更有效地...

    PHP 函数索引.doc

    5. `arsort()`: 对数组进行降序排序,同时保持键值关联。 6. `asort()`: 类似于`arsort()`,但进行升序排序。 7. `basename()`: 从路径中提取文件名部分,忽略任何前导目录。 8. `base_convert()`: 在不同基数...

    php面试题库,有答案

    `arsort()` 用于对关联数组进行降序排序,并保持键值关联。它将根据数组的值进行排序,同时保留原有的键。 以上是 PHP 面试题库中的一些核心知识点,涵盖语言基础、图像处理、会话管理、面向对象、网络编程等方面...

    PHP数组排序及运用场景.md

    如果数组包含键值对,并且需要根据值或键进行排序,则可以使用 `asort()`、`arsort()`、`ksort()` 或 `krsort()` 函数。例如,在电子商务网站中,可以使用 `asort()` 来根据价格对商品进行排序。 ##### 3. 自定义...

Global site tag (gtag.js) - Google Analytics