数组的基本使用
一、创建数组的方式
-
使用array()函数创建数组
-
赋值方式
-
l短数组定义法([] PHP 5.4起增加的)
1、数组的创建——array()语言结构方式
array()语言结构中的数组元素使用“键=>值”的方式进行表示,各元素之间使用逗号进行分割。
- 数组在省略键名的设置时,默认从0开始,依次递增加1,因此该数组元素的键名依次为“0、1、2”。
- 除此之外,还可以根据实际需求自定义数组元素的键名,如上述示例中的$sports数组变量,将其第1个元素键名设置为2,第2个元素的键名设置为4
2、数组的创建——array()语言结构方式
array()语言结构中的数组元素使用“键=>值”的方式进行表示,各元素之间使用逗号进行分割。
在定义关联数组时 “键”则有明确的数据类型要求,具体如下。
-
键只能是整型或字符串型的数据,如果是其他类型,则会执行类型自动转换。
-
合法整型的字符串会被转为整型,如“2”转为2,而“02”则不会被转换。
-
浮点数会被舍去小数部分直接转换成整型,如“2.6”转为2。
-
布尔类型的true会被转为1,false转为0。
-
NULL类型会被转为空字符串。
-
若数组中存在相同键名的元素时,后面的元素会覆盖前面元素的值。
3、数组的定义——array()语言结构方式
在定义数组时,还可以定义没有任何元素的数组,以及既有索引表示方式、又有关联表示方式的数组元素。
- $mixed数组的元素“b”指定了数字键名为“5”
- “b”元素后的“a”元素会自动将前面最大的数字键名加1后,作为其键名,即5+1得到键名6。
4、定义多维数组
5、数组的定义——赋值方式
使用赋值方式定义数组,实际上就是创建一个数组变量,然后使用赋值运算符直接给变量赋值。
赋值方式定义数组就是单独为数组元素赋值。需要注意的是,赋值方式不能定义一个空数组。
6、数组的定义——短数组定义法([])
短数组定义法([])与array()语法结构相同,只需将array()替换为[]即可
二、访问数组
数组定义完成后,若想要查看数组中某个具体的元素,则可以通过“数组名[键]”的方式获取。
另外,若要一次查看数组中的所有元素,则可以利用前面学习过的输出语句函数print_r()和var_dump(),并且通常情况下为了使输出的函数按照一定的格式打印,查看时经常与pre标记一起使用。
三、遍历数组
所谓遍历数组就是一次访问数组中所有元素的操作。通常情况下,使用foreach()语句完成数组的遍历。
“键”和“值”的变量名可以根据实际情况随意设置
实例
四、数组的删除
在数组定义完成后,有时也需要根据实际情况去除数组的某个元素。
可以使用PHP提供的unset()函数完成数据的删除。
五、数组操作符
不仅前面讲解的标量数据类型可以进行比较运算,数组这种复合数据类型也可以进行运算,不过数组有其专门提供的数组操作符进行对应的运算。
运算符 |
含义 |
示例 |
说明 |
+ |
联合 |
$a + $b |
$a和$b的联合 |
== |
相等 |
$a == $b |
如果$a和$b具有相同的键值对则为true |
=== |
全等 |
$a === $b |
如果$a和$b具有相同的键值对并且顺序和类型都相同则为true |
!= |
不等 |
$a != $b |
如果$a不等于$b则为true |
<> |
不等 |
$a <> $b |
如果$a不等于$b则为true |
!== |
不全等 |
$a !== $b |
如果$a不全等于$b则为true |
“+”为联合运算符,用于合并数组,如果出现下标相同的元素,则保留第1个数组内的元素。