php数组操作学习笔记
发布时间:2022-07-24 10:50:38 所属栏目:PHP教程 来源:互联网
导读:小编今天给大家来总结php中数组操作的一些入门学习笔记了,包括了:数据创建,赋值,遍历,查找,统计,多维数组等等在php中数组各种操作,有需要了解的朋友可参考. 什么是数组? 数组是一个数据的集合,相当于一个容器,可以将数据按一定的规则存到这个容器中.相当于
小编今天给大家来总结php中数组操作的一些入门学习笔记了,包括了:数据创建,赋值,遍历,查找,统计,多维数组等等在php中数组各种操作,有需要了解的朋友可参考. 什么是数组? 数组是一个数据的集合,相当于一个容器,可以将数据按一定的规则存到这个容器中.相当于旅馆,旅馆内有很多房间,而房间按照一定的规则编号. 数组的构成:基本结构形式如下: $数组名 (键)= 值 数组名:是一个数组区别于另一个数组的方式,就像每个旅馆都有一个名字. 键(key):也成为指针、索引或者标识符.键代表某值在数组中存放的位置,相当于旅馆的门牌号,可以用不同方式命名.通过查询键可以找到相应的值. 值(value):值相当于房间内存放的东西. 赋值创建数组 在php中,创建数组有变量赋值和调用函数两种方法,这里先讲前者.使用变量赋值方法很简单,直接给一个数组变量赋值即可. 实例代码如下: $lang[]="php"; $lang[]="html"; $lang[]="css"; echo "$lang[0] "; echo "$lang[1] "; echo "$lang[2] "; ?> 三个赋值语句产生的数组内容: 0=>php 1=>html 2=>css 创建数组 除了上面介绍的赋值创建数组,还有调用函数的方法创建数组.php提供了array函数来穿件一个数组,基本结构形式如下: array (item1,item2... ,itemn) /* item表示数组中的元素值.array()函数创建数组时自动给元素值分配标识符,从0依次增加 */ 实例代码如下: $student=array("Tom","Jacky","Rose"); echo $student[0] ."t"; echo $student[1] ."t"; echo $student[2]; ?> 数组键名 1、键名分配 在用array()函数创建数组时,键名会自动分配到各个值.另外,我们也可以按自己的需要直接给元素分配键名. 基本结构形式: array ( key => item ) 实例代码如下: $a=array(1 => "you",2 =>"are ", 5 =>"how "); echo $a[5]; echo $a[2]; echo $a[1]; ?> 2、用字符串作键名 不但可以用整数作为键名,也可以使用字符串作为键名.使用字符串作为键名的数组成为字符串索引(string-indexed)数组. 实例代码如下: $a=array("php"=>"动态网页","html"=>"静态网页","css"=>"网页排版"); echo $a["php"] ." "; echo $a["html"] ." "; echo $a["css"]; ?> 3、键名的修改 实例代码如下: $arr = array("a" => "新浪", "b"=>"网易", "c" => "腾讯", "雅虎" ); $arr[a] = "PHP中文社区"; $arr['e'] = "新浪"; $arr[] = "百度"; echo $arr['a'] ." "; echo $arr['b'] ." "; echo $arr['c'] ." "; echo $arr['e'] ." "; echo $arr[0] ." "; echo $arr[1] ." "; ?> 创建多维数组 在php程序编写时,一维数组有时不能满足需求,这时就要用到多维数组.多维数组就是在一维数组的基础上再增加一个或多个细下标,用法与一维数组大致相同,只是多维数据操作更为复杂,不过功能更强大. 以二维数组为例,就像大房子里面套有小房子,表示方法为$a[0][0]. 实例代码如下: $a[0][0]=1; $a[0][1]=2; $a[0][2]=3; $a[1][0]=4; $a[1][1]=5; $a[1][2]=6; for($i=0;$i<=1;$i++){ for($j=0;$j<=2;$j++){ echo "$a[$i][$j]=" .$a[$i][$j] ." "; /* "$"表示输出变量符号$ */ } } ?> 输出数组 输出数组是指将数组的的所有元素数据显示在浏览器上,php怎么输出数组?常用的php输出数组函数有var_dump()和print_r()函数. 1、var_dump函数递归展开数组元素,显示数组各元素的类型、键名和元素值. 实例代码如下: $a=array(0,5,array("php","html","css")); /* 创建一个嵌套的数组 */ var_dump($a); ?> 2、print_r函数值显示数组元素的键名和元素值. 实例代码如下: $b=array(1,2,3); print_r($b); ?> 测试数组 有时候我们不清楚某个变量是不是数组,可以用is_array()函数来测试判断. 基本结构形式: is_array ( 变 量 ) 检测变量是否数组,如果是则返回true,否则返回false. 实例代码如下: $a="apple iphone"; if(is_array($a)){ var_dump($a); } else echo "不是数组"; ?> foreach遍历数组 我们在运用数组时,常常要遍历数组并获得各个键或者元素值,php提供了一些专门遍历数组的函数.这里先介绍foreach遍历数组函数的用法. 结构形式实例代码如下: foreach ( array_expression as $value ) statement /* array_expression是要遍历的数组 as作用是将数组的值赋给$value statement是后续语句 */ 实例1: $color=array('white' => '白色' , 'black' => '黑色' , 'red' => '红色' , 'green' => '绿色', 'yellow' => '黄色'); foreach( $color as $c) echo $c ." "; > 通过foreach不仅可以获得元素的值也可以获得键名,结构形式: foreach ( array_expression as $key => $value ) statement 将以上实例中第7行的代码: 实例代码如下: foreach( $color as $c) echo $c ." "; 改为: foreach( $color as $key => $c) echo $key.$c ." "; 查找数组元素值 php获取数组键名可以用array_search()来实现,结构形式如下: array_search( $needle,$haystack ) /* 参数$needle表示要查找的值 */ /* $haystack表示查找对象 */ array_search()函数返回的是键名,而不是布尔值,找不到时返回false.找到的元素如果正好是第一个元素,则返回0.而php会自动转化成false,所以需要使用”===”判断返回值.(“===”判断是否全等,详:php关系运算符) 实例代码如下: $s=array("a","b","c","d","e","f"); $i=array_search("a",$s); /* 查找数组是否有字符"a" */ if($i===false) /* 判断查找结果 */ echo "在数组s中找不到字符'a'"; else echo "输出数组$s的键名:" .$i; /* 输出键名 */ ?> 计算数组元素个数 数组也像变量一样可以进行运算,例如需要php统计数组元素个数时,我们可以利用count()函数来计算数组中元素的个数. 结构形式实例代码如下: count ( $var,$mode ) /* $var参数$var通常是一个数组,函数返回var中的单元数目 */ /* mode是可选参数 */ 实例: $a=array("peple","man","women"); $b=count($a); /* 统计数组元素个数 */ echo $b; ?> 数组排序 php提供了一系列的数组排序函数,我们可以根据需要对数组进行排序.数组的排序主要有三种方式: 按键值排序 即按标识符ASCⅡ码值的大小排列顺序. ksort(): 按照数组标识符顺序排列 krsort(): 按照数组标识符逆序排 实例代码如下: $languages=array( 'c'=>'php', 'd'=>'asp', 'a'=>'jsp', 'b'=>'java' ); krsort($languages); foreach($languages as $key=>$val){ echo "$key = $val".' '; }; ?> 按元素值排序 asort(): 按照由小到大的顺序对数组排序; rsort(): 按照由大到小的顺序对数组逆序排序. (编辑:梅州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |