本文内容: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. go can't find import: "github.com/** 错误

    go get 后 go build 错误 can't find import: "github.com/ 原因: 1.gopath 没配好 2.go get 后要先 go install , ...

  2. Python笔记(一)

    我是一名211高校软件工程大三学生,由于前段时间一直在找实习公司.笔试面试了很多公司,虽然有一定的基础,但是还是被某些公司面试官像虐狗一样的虐了.最后找到了一个口碑比较好的外企,主攻信息安全方面.这段 ...

  3. Python 3.4 链接mysql5.7 数据库使用方法

    最近笔者在研究Python3.4链接MySQL5.7版本,笔者意图在网上找到一个比较好的链接方式,网上介绍的大致有 mysqldb或者pymssql这两种方法来链接,mysqldb下载地址http:/ ...

  4. iOS block进行页面之间传值

    #import <UIKit/UIKit.h> @interface FirstViewController : UIViewController @property (weak, non ...

  5. page59-一种能够累加数据的ADT(可视化版本) [可用于数据挖掘可视化工具]

    public class VisualAccumulator VisualAccumulator() 创建一个累加器 void addDataValue(double val) 添加一个新的数据值 d ...

  6. MySQL 中随机抽样:order by rand limit 的替代方案

    最近由于需要大概研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RA ...

  7. 关于Java中获取当前系统时间

    一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...

  8. BZOJ 2819: Nim dfs序维护树状数组,倍增

    1.随机选两个堆v,u,询问若在v到u间的路径上的石子堆中玩Nim游戏,是否有必胜策略,如果有,vfleaking将会考虑将这些石子堆作为初始局面之一,用来坑玩家.2.把堆v中的石子数变为k. 分析: ...

  9. IOS APP圆形图片的实现

    //设置圆形cornerRadius,是宽或高的一半 _imageView.layer.masksToBounds = YES; CGFloat w = _imageView.frame.size.w ...

  10. dom操作中的js优化

    频繁地对于DOM进行操作的很是损耗性能,但在富网页应用中我们编写脚本无可避免地要跟DOM打交道,到底怎么才能优化这个性能瓶颈呢,大致从以下三种情况去考虑: 访问和修改DOM元素 修改DOM样式,会造成 ...