数组
数组是一组数据的集合,将数据按照一定的规则组织起来,形成一个可操作的整体。数组中的每个实体都包含两项:键和值。PHP数组比其他它的高级语言更为灵活,不但支持数字索引数组,而且支持以字符串或字符串,数字混合为键名的关联数组。
声明方式
1. 应用数组函数声明数组
2. 通过数组标识符[]声明数组
数组的类型
php支持两种数组
1. 数字索引数组
2. 关联数组
数字索引数组使用数字作为键,关联数组的键名可以是数值和字符串混合的形式,而不像数字索引数组的键名只能为数字。在一个数组中,只要键名中有一个不是数字,那么这个数组就叫做关联数组。
关联数组的键名是一个字符串,不要忘记给这个键名或者索引加上定界修饰符,单引号或双引号。
输出方式
echo,print语句只能输出某数组中的某一个元素,而通过print_r和var_dump()函数可以输出数组结构。
var_dump()可以输出数组(或对象),元素数量以及每个字符串的长度,好能够以缩进的方式输出数组或对象的结构。
数组的构造
创建一维数组简单,这个不多说。
二维数组的区别就是二维数组的元素仍然是数组。
遍历数组
最常用的是使用foreach结构,先来看看语法
foreach (array as $value)
statement
// 或者:
foreach (array as $key => $value)
statement
在上述的语法中,每次循环将当前的值赋给 value并且数组内部的指针向前移一步。第二种还会将当前单元的键名在每次循环中赋给变量 key,看下面的例子。
<?php
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>25);
foreach ($arr_age as $age) {
echo $age,'<br />';
}
?>
运行上面的例子输出
18
20
25
使用数组的键值
<?php
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>25);
foreach ($arr_age as $key=>$age) {
echo $key,': ',$age,'<br />';
}
?>
运行上面的例子输出,打印出了键和值
wang: 18
li: 20
zhang: 25
foreach的操作是指定数组的一个拷贝,而不是数组本身。对返回数组单元的修改也不会影响原数组。
遍历二维数组
只要在foreach语句中在嵌套一个foreach循环就可以实现
//定义二维数组
$arr = array(
"1班"=>array("第一","第二","第三"),
"2班"=>array("第四","第五","第六"),
"3班"=>array("第七","第八","第九")
);
foreach ($arr as $key=>$child_array){
echo $key;
foreach ($child_array as $value){
echo $value;
}
echo "<br>";
}