PHP数组的声明和使用、遍历、排序是怎样的
Admin 2022-09-20 群英技术资讯 913 次浏览
今天这篇给大家分享的知识是“PHP数组的声明和使用、遍历、排序是怎样的”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“PHP数组的声明和使用、遍历、排序是怎样的”文章能帮助大家解决问题。 数组的本质是管理和操作一组变量,数组中可以存储任意长度的数据,也可以存储任意类型的数据。数组中的单元称为元素,每个元素包括下标(键)和值,访问元素的时候,是通过下标来访问,包括一维数组,二维数组及多维数组(即数组的嵌套),PHP中分为索引数组和关联素组。
(1)索引数组:使用整数作为索引,如$arr=array('PHP课程','HTML课程','CSS课程');
(2)关联数组:使用字符串作为索引,如$arr=array('ID'=>1,'name'=>'PHP课程','class=>'PHP100');
1. 直接为数组元素赋值声明
如果索引下标不给出,就会从0开始顺序索引;如果给出索引下标,下一个就会从最大的下标开始增1;如果后面出现前面的下标,则会为前面的元素重新赋值;混合声明时,索引数组和关联数组不互相影响。
例如:
$array[0]="I";
$array[1]="love";
$array[2]="PHP";
print_r($array);
其中,print_r()是一个特殊的函数,允许你查看PHP数组变量里面的值,会按照一定键值和元素的顺序显示出该数组中的所有元素。这对于程序的调试很有帮助。
2.使用array()函数声明
默认是索引数组,如果为关联数组,需要为数组指定下标,使用“键=>值”,多个成员之间使用" , "分割。
例如:
$fruits = array('red' => 'apple', 'yellow' => 'banana', 'purple' => 'plum', 'green' => 'grape');
print_r($fruits);
我们经常要对数组进行遍历,PHP中遍历数组的方法有多种,可以使用for()循环遍历数组,在这里,经常会用到sizeof()函数,该函数是常用的数组函数之一,返回数组的大小,即读取数组内元素的个数,作为循环计数器的上限值。还可以使用list()函数遍历数组,它只能用于数字索引的数组,且数字索引从0开始。
PHP中还可以使用专门用于对数组循环目的函数:foreach()。foreach()对传递给它的数组中的每一个元素执行一次,它不需要计数器或调用函数sizeof(),它可以自动跟踪数组在数组中的位置,同时需要更少的维护。foreach()有两种语法结构:
(1)foreach (array_expression as $value)
(2)foreach (array_expression as $key => $value)
第一种结构会遍历给定的array_expression 数组,每次循环中,当前单元的值被赋给$value 并且数组内部的指针向前移一步。第二种结构中,当前单元的键名也会在每次循环中被赋给$key。foreach 循环运行到结束,原数组的内部指针将指向数组的结尾。例如:
foreach ($arr as $value) {
echo "Value: $value ";
}
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value ";
}
对数组元素进行排序,我们在做项目时使用也比较多,涉及的相关函数也有很多,比如 sort(),rsort(),usort(),ksort(),uasort(),uksort() 等等,这里先介绍几个。使用sort()和rsort()分别对数组进行升序和降序,例如:
$arr=array(23,4,65,11,64,8);
sort($arr);
print_r($arr);
运行结果:
Array ( [0] => 4 [1] => 8 [2] => 11 [3] => 23 [4] => 64 [5] => 65 )
另外,我们可以注意到通过sort函数排序之后,数组原有的索引键名会被重新分配。rsort()会对数组进行逆向排序。
如果使用了关联数组,在排序后还要保持关键字和值的排序一致,这就需要使用ksort()和asort()函数,例如:
$array=array('php'=>1,'jsp'=>2,'asp'=>3);
ksort($array);
print_r($array);
运行结果:
Array ( [asp] => 3 [jsp] => 2 [php] => 1 )
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
下面由phpstorm教程栏目给大家介绍PHP怎么更好的利用PHPstorm的自动提示,希望对需要的朋友有所帮助!
php面向对象中类的定义:1、使用class 这个关键字定义类,类的名称就跟函数名称一样可以设置;2、将类进行实例化,获得实例对象;3、为对象设置值,并需要添加一些方法。
Swoole框架栏目介绍介绍Swoole的简单运用实现例子,我们使用PHP开发WEB应用基本都是使用传统的LAMP/LNMP模式来提供HTTP服务,这种模式一般是同步且堵塞的,若我们想使用PHP开发一些高级的特性,那么Swoole无疑是最佳
这篇文章主要介绍了Yii框架Session与Cookie使用方法,结合实例形式分析了Yii框架针对Session与Cookie的设置、获取、删除等相关操作技巧,需要的朋友可以参考下
thinkphp3.2中order方法用于对操作的结果进行排序,是模型连贯操作方法之一,相当于是select语句中的一个order by子句,用法为“$Model->where()->order()->limit()->select()”。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008