本文主要介绍的php数组函数主要有:sort、rsort、asort、arsort、ksort、krsort

测试数据定义一个关联数组如下:

$data=[
'f'=>123,
'b'=>789,
'g'=>456,
'd'=>111
];
这里写数组函数($data);
foreach($data as $key => $val){
echo $key."=>".$val."<br>";
}

  

(1)sort:升序排序:原有的键会从0开始被覆盖,按照值进行升序排序,输出结果为

0=>111
1=>123
2=>456
3=>789

(2)rsort:降序排序,原理与sort一样,但是是按照降序排序,输出结果为

0=>789
1=>456
2=>123
3=>111

(3)asort:升序排序,但是不改变原有的键,按照值进行升序排序,输出结果为

d=>111
f=>123
g=>456
b=>789

(4)arsort:降序排序,同样不改变原有的键,但是是按照降序排序,输出结果为

b=>789
g=>456
f=>123
d=>111

 

(5)ksort:升序排序,根据键从小到大排序,不受数组的值影响,输出结果为

b=>789
d=>111
f=>123
g=>456

(6)krsort:降序排序,根据键从大到小排序,同样不受数组的值影响,输出结果为

g=>456
f=>123
d=>111
b=>789

php常用几个数组的区别的更多相关文章

  1. JavaScript中的数组与伪数组的区别

    在JavaScript中,除了5种原始数据类型之外,其他所有的都是对象,包括函数(Function). 基本数据类型:String,boolean,Number,Undefined, Null 引用数 ...

  2. Java学习:集合的使用与数组的区别

    ArrayList 集合 ArrayList 集合 ArrayList<String> list = new ArrayList<>(); 对于ArrayList来说,有一个尖 ...

  3. C++中关于[]静态数组和new分配的动态数组的区别分析

    这篇文章主要介绍了C++中关于[]静态数组和new分配的动态数组的区别分析,很重要的概念,需要的朋友可以参考下 本文以实例分析了C++语言中关于[]静态数组和new分配的动态数组的区别,可以帮助大家加 ...

  4. Mssql中一些常用数据类型的说明和区别

    Mssql中一些常用数据类型的说明和区别 1.bigint 占用8个字节的存储空间,取值范围在-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,37 ...

  5. C-指针和数组的区别

    指针的操作: 允许:1)同类型指针的赋值 2)与整形的加减运算 3)指向同一数组内指针的减运算和比较 4)赋 ‘0’ 或与 ‘0’ 比较 不允许:1)两指针的相加,相乘除,位移或mask 2)与flo ...

  6. Java基础知识强化之集合框架笔记01:集合的由来与数组的区别

    1. 集合的由来: 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储.而要想存储多个对象,就不能是一个基本的变量,而应该 ...

  7. json 和 数组的区别

    json是javascript中的一种数据格式,类似于数组,但又不同于数组,区别在于下标: 例如,var obj=[a:15,b:10,c:3,d:8]: //这是json的写法 var  arr=[ ...

  8. C语言中指针和数组的区别

    看<C专家编程>一书,看到数组与指针并不相同一章,遂做了一段测试: 代码: #include <stdio.h> #include <stdlib.h> int m ...

  9. Java集合和数组的区别

    参考:Java集合和数组的区别 集合和容器都是Java中的容器. 区别 数组特点:大小固定,只能存储相同数据类型的数据 集合特点:大小可动态扩展,可以存储各种类型的数据   转换 数组转换为集合: A ...

随机推荐

  1. 16、SpringBoot-CRUD错误处理机制(3)

    3).将自己指定的数据携带出去 出现错误以后,会来到/error请求,会被BasicErrorController 进行处理 响应出去的数据是由 getErrorAttributes 得到的( Abs ...

  2. CopyOnWriteArrayList介绍

    CopyOnWrite容器即写时复制的容器.通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后, ...

  3. 自动化构建工具grunt的学习

    关于grunt的一些记录,记的比较乱... 0.删除node_modules文件夹 命令行: npm install rimraf -g //先运行 rimraf node_modules //然后运 ...

  4. 使用cmd命令创建vue(ivieiw)项目

    条件,安装好nodejs 第一步:先使用 vue create 命令创建一个项目,等待创建完成. 1.切换目录 2.创建项目  vue create [项目名称] 第二步:切换到项目中. 第三步:使用 ...

  5. 《Inetnet History,Technology and Security》学习笔记

    前言 本文为观看Cousera的Michigan<Internet History, Technology and Security>教程的个人学习笔记,包括了每个week的概要和个人感想 ...

  6. 第27章 LTDC/DMA2D—液晶显示

    本章参考资料:<STM32F76xxx参考手册2>.<STM32F7xx规格书>.库帮助文档<STM32F779xx_User_Manual.chm>. 关于开发板 ...

  7. 课时53.video标签第二种格式(掌握)

    由于视频数据非常非常的重要,所以五大浏览器厂商都不愿意支持别人都视频格式,所以导致了没有一种视频格式是所有浏览器都支持的,这个时候W3C为了解决这个问题,所以推出了第二种video标签的格式 如何查看 ...

  8. 霍金:AI或许能根除疾病和贫穷,但也可能摧毁人类 | GMIC 2017

    在我的一生中,我见证了社会深刻的变化.其中最深刻的,同时也是对人类影响与日俱增的变化,是人工智能的崛起.简单来说,我认为强大的人工智能的崛起,要么是人类历史上最好的事,要么是最糟的.我不得不说,是好是 ...

  9. lable随堂笔记

    lable标签与属性 lable标签:for属性,让标签与指定的input元素建立标签:将input元素包含在lable标签中. <table border="2" alig ...

  10. sql1999语法

    1.交叉连接 cross join 左右两个表进行组合,产生笛卡尔积累. 左边每一行分别于右表每一行数据匹配. 2.using using使用的前提是两个表右关联的字段需要对应,两个表的join查询. ...