### 简介 PHP 中的数组实际上是一个有序映射,数组能够在单个变量中存储多个值。 > 映射是个术语,指两个元素的集之间元素相互“对应”的关系。 在 PHP 中,有三种类型的数组 1. **索引数组** = 带有数字 ID 键的数组 1. **关联数组** = 带有指定的键的数组,每个键关联一个值 1. **多维数组** = 包含一个或多个数组的数组
### 语法 #### 定义数组: ##### 1. 自动分配 ID 键 ```php $array = array("bar","foo"); // 自 PHP 5.4 起 $array = ["bar","foo"]; ``` 用 `print_r()` 调试输出 ```php Array ( [0] => bar [1] => foo ) ```
##### 2. 人工分配 ID 键 ```php $array = array( "foo" => "bar", "bar" => "foo", ); // 自 PHP 5.4 起 $array = [ "foo" => "bar", "bar" => "foo", ]; ``` 用 `print_r()` 调试输出 ```php Array ( [foo] => bar [bar] => foo ) ```
### 键值对 `key => value` - 数组中可以保存多个数据 ( 值 value ) , - 每个数据有唯一的编号 ( 键 key ) - 每个键值对用逗号 `,` 分割 ``` 定义数组,a,b,c 为数据的 key $arr = [ ' a ' => 1, ' b ' =>2 , ' c ' =>3 ] ; 也可以不写 key,由 php 自动生成,从 0 开始编号 $arr = [ 1 , 2 , 3 ] ; ```
### 数组 的增删改查 ``` $arr = [ ' a ' => 1, ' b ' =>2 , ' c ' =>3 ] ; // 增 $arr [ ' d ' ] = 4 ; // 改 // 改跟 增 一样,如果这个键存在就是修改,不存在就是增加 $arr [ ' d ' ] = 4 ; // 删 unset ( $arr [ ' c ' ] ) ; // 查 echo $arr [ ' a ' ] ```
### 数组 循环 用 `foreach ( )` 进行循环 ```php $arr = [0, 1 , 2 , 3 , 4 , 5 ]; foreach ($arr as $k => $v){ echo $k , ' =' ,$v . "
"; } ``` 输出: > 0 =0 > 1 =1 > 2 =2 > 3 =3 > 4 =4 > 5 =5