本文内容: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. uva 12100 Printer Queue 优先级队列模拟题 数组模拟队列

    题目很简单,给一个队列以及文件的位置,然后一个一个检查,如果第一个是优先级最高的就打印,否则放到队列后面,求所要打印的文件打印需要花费多长时间. 这里我用数组模拟队列实现,考虑到最糟糕的情况,必须把数 ...

  2. Amazon教程:刚买就降价!避免损失,申请PRICE MATCH(价格保护)的方法

    Amazon的商品价格波动频繁,虽然老白通常都在价格较低的时机向大家推荐,但是经常有降了又降的情况,刚下的单还没到手就又降价了,这种滋味肯定不好受.Amazon客服明确告诉老白一周内降价都可以申请PR ...

  3. Sphinx 全文检索

    什么是全文检索: 全文检索是指以文档的全部文本信息作为检索对象的一种信息检索技术.检索的对象有可能是文章的标题,也有可能是文章的作者,也有可能是文章摘要或内容. 简介: Sphinx是由俄罗斯人And ...

  4. hdu 4711 动态规划

    思路:其实这题是个挺水的动态规划,一开始就能AC,可是不知道错哪了,瞎改瞎交,WA了数十次.AC之后怎么改都是AC,也不知道改了什么地方,郁闷死了~~~难道开始时的测试数据有问题??? dp[i][j ...

  5. 3D--知识点1

    三层架构 1.DAL(数据访问层)-->与数据库进行关联,对数据库进行增删改查操作2.BLL(业务逻辑层)-->负责加减乘除与或非操作,比如:用户注册3.UI/web(表示层) sqlse ...

  6. C# 微信支付证书使用

    http://wenku.baidu.com/link?url=wt24Gc-2-TbZRoQQ2vRNl5P0pMgp7dIoJMzb_zc1FyiMnBECBDMJ9RTuFCeHl9Lu0ahg ...

  7. ViewSwitcher用法浅析

    如果理解了ViewPager的使用方法,使用ViewSwitcher就方便多了.和ViewFlipper一样,ViewSwitcher也是ViewAnimator的子类,并且只能包含两个子视图,每次展 ...

  8. lua定时器与定时任务的接口设计

    在所有的服务器编程当中,定时任务永远是一个不可或缺的需求.最直接的需求就是,每天凌晨0点0分的时候总是有一大堆的各种精力重置.怎么来设计这个接口呢,想了几个方案: 每秒触发 每分钟触发 每整点触发 每 ...

  9. sql获取时间时分秒

    select datename(hour,getdate())+':'+datename(minute,getdate())+':'+datename(second,getdate())

  10. BeanDefinition的Resource定位——3

    1.我们重点看看AbstractRefreshableApplicationContext的refreshBeanFactory方法的实现,这个refreshBeanFactory被FileSyste ...