小编今天给大家来总结php中数组操作的一些入门学习笔记了,包括了:数据创建,赋值,遍历,查找,统计,多维数组等等在php中数组各种操作,有需要了解的朋友可参考。
什么是数组?
数组是一个数据的集合,相当于一个容器,可以将数据按一定的规则存到这个容器中。相当于旅馆,旅馆内有很多房间,而房间按照一定的规则编号。
数组的构成:基本结构形式如下:
$数组名 (键)= 值 数组名:是一个数组区别于另一个数组的方式,就像每个旅馆都有一个名字。
键(key):也成为指针、索引或者标识符。键代表某值在数组中存放的位置,相当于旅馆的门牌号,可以用不同方式命名。通过查询键可以找到相应的值。
值(value):值相当于房间内存放的东西。
赋值创建数组
在php中,创建数组有变量赋值和调用函数两种方法,这里先讲前者。
使用变量赋值方法很简单,直接给一个数组变量赋值即可。
实例:
代码如下
三个赋值语句产生的数组内容:
0=>php
1=>html
2=>css
创建数组
除了上面介绍的赋值创建数组,还有调用函数的方法创建数组。
php提供了array函数来穿件一个数组,基本结构形式如下:
array (item1,item2… ,itemn)
/* item表示数组中的元素值。array()函数创建数组时自动给元素值分配标识符,从0依次增加 */
实例:
代码如下
数组键名
1、键名分配
在用array()函数创建数组时,键名会自动分配到各个值。另外,我们也可以按自己的需要直接给元素分配键名。
基本结构形式:
array ( key => item )
实例1:
代码如下
2、用字符串作键名
不但可以用整数作为键名,也可以使用字符串作为键名。使用字符串作为键名的数组成为字符串索引(string-indexed)数组。
实例2:
代码如下
3、键名的修改
实例3:
代码如下
创建多维数组
在php程序编写时,一维数组有时不能满足需求,这时就要用到多维数组。多维数组就是在一维数组的基础上再增加一个或多个细下标,用法与一维数组大致相同,只是多维数据操作更为复杂,不过功能更强大。
以二维数组为例,就像大房子里面套有小房子,表示方法为$a[0][0]。
实例:
代码如下
输出数组
输出数组是指将数组的的所有元素数据显示在浏览器上,php怎么输出数组?常用的php输出数组函数有var_dump()和print_r()函数。
1、var_dump函数递归展开数组元素,显示数组各元素的类型、键名和元素值。
实例1:
代码如下
2、print_r函数值显示数组元素的键名和元素值。
实例2:
代码如下
测试数组
有时候我们不清楚某个变量是不是数组,可以用is_array()函数来测试判断。
基本结构形式:
is_array ( 变 量 )
检测变量是否数组,如果是则返回true,否则返回false。
实例:
代码如下
foreach遍历数组
我们在运用数组时,常常要遍历数组并获得各个键或者元素值,php提供了一些专门遍历数组的函数。这里先介绍foreach遍历数组函数的用法。
结构形式:
代码如下
foreach ( array_expression as $value ) statement
/* array_expression是要遍历的数组
as作用是将数组的值赋给$value
statement是后续语句
*/
实例1:
通过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关系运算符)
实例:
代码如下