本文内容:PHP二维数组排序,PHP数组排序总结。
php数组排序是PHP学习中最基础也是最重要的一部分。
1、常规数组的排序
常规数组是指数组各元素均为字符串或数字,这与这样的数组,我们可以采用sort()函数对他进行排序。
示例:
<?php  
$people=array('name','sex','nation','birth');  
echo "---原数组---<br />";  
foreach ($people as $mychrs)  
    echo $mychrs." ";  
sort($people);  
echo "<br />---sort()函数排序后---<br />";  
foreach ($people as $mychrs)  
    echo $mychrs." ";  
?>  
输出:
---原数组---
name sex nation birth
---sort()函数排序后---
birth name nation sex
Sort()函数还具有第二参数,用来说明升序的规则是用来比较数字还是字符串的。
示例:
<?php  
echo "---按数字升序排序---<br />";  
$num2=array('30','5',);  
sort($num2,SORT_NUMERIC);  
foreach ($num2 as $mychrs)  
    echo $mychrs." ";  
echo "<br />---按字符升序排序---<br />";  
$num3=array('30','5');  
sort($num3,SORT_STRING);  
foreach ($num3 as $mychrs)  
    echo $mychrs." ";  
?>  
输出:
---按数字升序排序---
5 30
---按字符升序排序---
30 5
这里关键就是SORT_NUMERIC和SORT_STRING参数的使用
sort()函数是对数组做升序排列,同样还有降序排列函数rsort(),他的使用方法与sort()函数一样,这里就不在说了。
2、数组倒序排序
也就是说把原数组倒序存放,这里我们用到array_reverse()函数。
示例:
<?php  
$ut=array('uncletoo','php','mysql','oracle');  
echo "--原数组--<br />";  
foreach ($ut as $mychrs)  
echo $mychrs." ";  
$ut=array_reverse($ut);  
echo "<br />--array_reverse倒序--<br />";  
foreach ($ut as $mychrs)  
echo $mychrs." ";  
?>  
输出:
--原数组--
uncletoo php mysql oracle
--array_reverse倒序--
oracle mysql php uncletoo
3、数组随机排序
PHP中使用shuffle()函数将数组元素进行随机的重新排序
示例
<?php  
$ut=array('uncletoo','php','mysql','oracle');  
shuffle($ut);  
foreach ($ut as $mychrs)  
echo $mychrs." ";  
?>  
刷新浏览器,每次输出的排序都不一样。
4、有键值数组的排序
对于常规数组我们用sort()和rsort()函数进行排序,那么如果数组中有键值,我们就要用其他函数了。先看示例:
<?php  
$peoples=array('name'=>'张三','sex'=>'男','age'=>'15','site'=>'www.jbxue.com');  
echo "--原数组--<br />";  
foreach ($peoples as $mychrs)  
    echo $mychrs." ";  
echo "<br />--按元素值升序排列--<br />";  
asort($peoples);  
foreach ($peoples as $mychrs)  
    echo $mychrs." ";  
echo "<br />--按关键字升序排列--<br />";  
ksort($peoples);  
foreach ($peoples as $mychrs)  
    echo $mychrs." ";  
?>  
输出:
--原数组--
张三 男 15 www.jbxue.com
--按元素值升序排列--
15 www.jbxue.com 男 张三
--按关键字升序排列--
15 张三 男 www.jbxue.com
这里,用到了asort()和ksort()函数,分别是对元素和键值做升序排列,对应的,他们的降序排列分别是arsort()和krsort()函数,他们的用法是一样的。
以上简单介绍了PHP数组的几种排序函数及其用法。

分享:PHP数组排序总结的更多相关文章

  1. 关于java的arrays数组排序示例AJPFX的分享

    Java API对Arrays类的说明是:此类包含用来操作数组(比如排序和搜索)的各种方法. 1.对基本数据类型的数组的排序 说明: (1)Arrays类中的sort()使用的是“经过调优的快速排序法 ...

  2. ***PHP 数组排序 +php二维数组排序方法(PHP比较器)

    PHP - 一维数组的排序函数 在本节中,我们将学习如下 PHP 数组排序函数: sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组 ...

  3. php二维数组排序的处理

    一维数组排序可以使用asort.ksort等一些方法进程排序,相对来说比较简单.二维数组的排序怎么实现呢?使用array_multisort和usort可以实现 例如像下面的数组:    代码如下: ...

  4. php二维数组排序方法(转自http://www.3lian.com/edu/2013/12-26/118882.html)

    一维数组排序可以使用asort.ksort等一些方法进程排序,相对来说比较简单.二维数组的排序怎么实现呢?使用array_multisort和usort可以实现 例如像下面的数组:    代码如下: ...

  5. php对数组排序的例子

    分享一个php数组排序的例子,介绍了和php,有关的知识.技巧.经验,和一些php源码等. <?php class='pingjiaF' frameborder='0' src='http:// ...

  6. php对数组排序代码

    php对数组排序,介绍了和php,有关的知识.技巧.经验,和一些php源码等. 对数组排序 usort() 函数使用用户自定义的函数对数组排序. */ function cmp($a, $b) //用 ...

  7. PHP中数组排序实例学习

    先介绍下php中用于数组排序的函数: 排序方法                           升序                             降序                 ...

  8. 常用的php数组排序函数

    分享几个php数组排序函数,每个函数出去sort是排序的意思前缀字母的含义分别代表: a 索引 k 数组键 r 逆向 u 用户自定义 顺序排序函数 sort — 对数组排序  ksort — 对数组按 ...

  9. 代码分享:php判断数组是否有序

    发布:脚本学堂/PHP编程  编辑:JB02   2013-12-17 14:59:02  [大 中 小] 转自:http://www.jbxue.com/article/14723.html如何判断 ...

随机推荐

  1. Web安全 之 SQL注入

    随着B/S模式应用开发的发展,使用这种模式编写的应用程序也越来越多.相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患.用户可以提交一段数据库查询代码,根据 ...

  2. Frogs' Neighborhood

    Frogs' Neighborhood Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 7920   Accepted: 33 ...

  3. 8. Android框架和工具之 NineOldAndroids(动画框架)

    1. NineOldAndroids 自Android 3.0以上的版本,SDK新增了一个android.animation包,里面的类都是跟动画效果实现相关的,通过Honeycomb API,能够实 ...

  4. 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码

    来自:http://www.cnblogs.com/lcxu2/archive/2011/01/16/2004016.html 正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain 或 ...

  5. 【Mood-10】每个程序员都应该读的30本书

    “如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本,你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西.” 很多程序员响应,他们在推荐时也写下自己的评语. ...

  6. Uva 10129 - Play on Words 单词接龙 欧拉道路应用

    跟Uva 10054很像,不过这题的单词是不能反向的,所以是有向图,判断欧拉道路. 关于欧拉道路(from Titanium大神): 判断有向图是否有欧拉路 1.判断有向图的基图(即有向图转化为无向图 ...

  7. nginx 代理服务器 502错误

    在centos系统下,nginx做代理服务器总是出现502错误,百度各种搜索,出来的答案基本都是一样的,也不知道大家 从哪抄的,问题也没有解决,最后还是从谷歌找到的答案: 总归还是centos系统的问 ...

  8. C++之时间统计

    1.最精确 QueryPerformanceFrequency(&nFreq); cout <<nFreq.QuadPart<<endl;//获得计数频率 QueryP ...

  9. C#的Process类的一些用法

    c#之process类相关整理 一.根据进程名获取进程的用户名? 需要添加对 System.Management.dll 的引用 using System.Diagnostics; using Sys ...

  10. 坑到了,EF执行带事物的存储过程

    用EF开发项目,今天调用 带事物 存储过程,始终报错,"EXECUTE 后的事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配.上一计数 = 1,当前计数 = 0.\r\nEXEC ...