本文实例讲述了PHP数组基本用法与知识点。分享给大家供大家参考,具体如下:
初识数组
索引数组: 指键名为整数的数组。默认情况下,索引数组的键名是从0开始,并依次递增。它主要适用于利用位置来标识数组元素的情况。另外,索引数组的键名也可以自己指定
关联数组: 指键名为字符串的数组。通常情况下,关联数组元素的“键”和“值”之间有一定的义务逻辑关系。因此,通常使用关联数组储存一系列具有逻辑关系的变量。关联数组的“键”都是字符串,并与“值”之间具有意义对应的关系
array()语言结构中的数组元素使用“键= 值”的方式进行表示,各元素之间使用逗号进行分割。
//定义索引数组
$fruits = array('apple', 'grape', 'pear'); // 省 略键名
$sports = array(2 = 'basketball', 4 = 'swimming'); // 指定键名
数组在省略键名的设置时,默认从0开始,依此递增加1,因此该数组元素的键名依次为“0、1、2”。 除此之外,还可以根据实际需求自定义数组元素的键名,如上述示例中的$sports数组变量,将其第1个元素键名设置为2,第2个元素的键名设置为4
//定义关联数组
$info = array('id' = 10, 'name' = 'Tom', 'tel' = 18810888188);
在定义关联数组时 “键”则有明确的数据类型要求,具体如下。
在定义数组时,还可以定义没有任何元素的数组,以及既有索引表示方式、又有关联表示方式的数组元素。
//定义混合数组
$temp = array();
$mixed = array(2, 'str', 'id' = 5, 5 = 'b', 'a');
//定义多维数组
$data = array(
0 = array('name' = 'Tom', 'gender' = '男'),
1 = array('name' = 'Lucy', 'gender' = '女'),
2 = array('name' = 'Jimmy', 'gender' = '男')
);
使用赋值方式定义数组,实际上就是创建一个数组变量,然后使用赋值运算符直接给变量赋值。
//赋值方式
$arr[] = 123; // 存储结果:$arr[0] = 123
$arr[] = 'hello'; // 存储结果:$arr[1] = 'hello'
$arr[4] = 'PHP'; // 存储结果:$arr[4] = 'PHP'
$arr['name'] = 'Tom'; // 存储结果: $arr['name'] = 'Tom'
$arr[] = 'Java'; // 存储结果:$arr[5] = 'Java'
赋值方式定义数组就是单独为数组元素赋值。需要注意的是,赋值方式不能定义一个空数组。
短数组定义法([])与array()语法结构相同,只需将array()替换为[]即可
//短数组定义法
// 相当于:array('wind', 'fine')
$weather = ['wind', 'fine'];
// 相当于:array('id' = 12, 'name' = 'PHP')
$object = ['id' = 12, 'name' = 'PHP'];
// 相当于:array(array(1, 3), array(2, 4))
$num = [[1, 3], [2, 4]];
数组定义完成后,若想要查看数组中某个具体的元素,则可以通过“数组名[键]”的方式获取。
```
//数组名[键]
$sub = ['PHP', 'Java', 'C', 'Android'];
$data = ['goods' = 'clothes', 'num' = 49.90, 'sales' = 500];
echo $sub[1]; // 输出结果:Java
echo $sub[3]; // 输出结果:Android
echo $data['goods']; // 输出结果:clothes
echo $data['sales']; // 输出结果:500
```
若要一次查看数组中的所有元素,则可以利用前面学习过的输出语句函数print_r()和var_dump(),并且通常情况下为了使输出的函数按照一定的格式打印,查看时经常与pre标记一起使用。
所谓遍历数组就是一次访问数组中所有元素的操作。通常情况下,使用foreach()语句完成数组的遍历。
//方式一
foreach (数组名称 as 键 = 值) {
// 处理语句
}
//方式二
foreach (数组名称 as 值) {
// 处理语句
}
“键”和“值”的变量名可以根据实际情况随意设置
在数组定义完成后,有时也需要根据实际情况去除数组的某个元素。
不仅前面讲解的标量数据类型可以进行比较运算,数组这种复合数据类型也可以进行运算,不过数组有其专门提供的数组操作符进行对应的运算。
“+”为联合运算符,用于合并数组,如果出现下标相同的元素,则保留第1个数组内的元素。
$num = [2, 4];
$alp = ['a', 'b', 'c'];
$mer1 = $num + $alp;
$mer2 = $alp + $num;
print_r($mer1); // 输出结果:Array ( [0] = 2 [1] = 4 [2] = c )
print_r($mer2); //
希望本文所述对大家PHP程序设计有所帮助。