初始数组
数组构成: 数组是由一个或多个数组元素组成的
数组元素: 一每个数组元素由键(Key)和值(Value)构成
键: “键”为元素的识别名称,也被称为数组下标
值: “值”为元素的内容
映射: “键”和“值”之间存在一种对应关系,称之为映射
类型划分: 根据键的数据类型,可以将数组划分为索引数组和关联数组,前者使用数字作为键,后者使用字符串作为键。
一、索引数组
索引数组是指键名为整数的数组。默认情况下,索引数组的键名是从0开始,并依次递增。它主要适用于利用位置(0、1、2……)来标识数组元素的情况。另外,索引数组的键名也可以自己指定。
二、关联数组
关联数组是指键名为字符串的数组。通常情况下,关联数组元素的“键”和“值”之间有一定的业务逻辑关系。因此,通常使用关联数组存储一系列具有逻辑关系的变量。关联数组的“键”都是字符串,并与“值”之间具有一一对应的关系。
三、数组的使用
1、数组的创建——array()语言结构方式
array()语言结构中的数组元素使用“键=>值”的方式进行表示,各元素之间使用逗号进行分割
$fruits = array(‘apple’, ‘grape’, ‘pear’); // 省略键名
$sports = array(2 => ‘basketball’, 4 => ‘swimming’); // 指定键名
数组在省略键名的设置时,默认从0开始,依次递增加1,因此该数组元素的键名依次为“0、1、2”。
除此之外,还可以根据实际需求自定义数组元素的键名,如上述示例中的$sports数组变量,将其第1个元素键名设置为2,第2个元素的键名设置为4
2、数组的定义——array()语言结构方式
i
n
f
o
=
a
r
r
a
y
(
′
i
d
′
=
>
10
,
′
n
a
m
e
′
=
>
′
T
o
m
′
,
′
t
e
l
′
=
>
18810888188
)
;
∗
∗
在
定
义
关
联
数
组
时
“
键
”
则
有
明
确
的
数
据
类
型
要
求
,
具
体
如
下
。
键
只
能
是
整
型
或
字
符
串
型
的
数
据
,
如
果
是
其
他
类
型
,
则
会
执
行
类
型
自
动
转
换
合
法
整
型
的
字
符
串
会
被
转
为
整
型
,
如
“
2
”
转
为
2
,
而
“
02
”
则
不
会
被
转
换
浮
点
数
会
被
舍
去
小
数
部
分
直
接
转
换
成
整
型
,
如
“
2.6
”
转
为
2
布
尔
类
型
的
t
r
u
e
会
被
转
为
1
,
f
a
l
s
e
转
为
0
N
U
L
L
类
型
会
被
转
为
空
字
符
串
若
数
组
中
存
在
相
同
键
名
的
元
素
时
,
后
面
的
元
素
会
覆
盖
前
面
元
素
的
值
3
、
数
组
的
定
义
—
—
赋
值
方
式
使
用
赋
值
方
式
定
义
数
组
,
实
际
上
就
是
创
建
一
个
数
组
变
量
,
然
后
使
用
赋
值
运
算
符
直
接
给
变
量
赋
值
。
∗
∗
info = array('id' => 10, 'name' => 'Tom', 'tel' => 18810888188);** 在定义关联数组时 “键”则有明确的数据类型要求,具体如下。 键只能是整型或字符串型的数据,如果是其他类型,则会执行类型自动转换 合法整型的字符串会被转为整型,如“2”转为2,而“02”则不会被转换 浮点数会被舍去小数部分直接转换成整型,如“2.6”转为2 布尔类型的true会被转为1,false转为0 NULL类型会被转为空字符串 若数组中存在相同键名的元素时,后面的元素会覆盖前面元素的值 3、数组的定义——赋值方式 使用赋值方式定义数组,实际上就是创建一个数组变量,然后使用赋值运算符直接给变量赋值。 **
info=array(′id′=>10,′name′=>′Tom′,′tel′=>18810888188);∗∗在定义关联数组时“键”则有明确的数据类型要求,具体如下。键只能是整型或字符串型的数据,如果是其他类型,则会执行类型自动转换合法整型的字符串会被转为整型,如“2”转为2,而“02”则不会被转换浮点数会被舍去小数部分直接转换成整型,如“2.6”转为2布尔类型的true会被转为1,false转为0NULL类型会被转为空字符串若数组中存在相同键名的元素时,后面的元素会覆盖前面元素的值3、数组的定义——赋值方式使用赋值方式定义数组,实际上就是创建一个数组变量,然后使用赋值运算符直接给变量赋值。∗∗arr[] = 123; // 存储结果:$arr[0] = 123
a
r
r
[
]
=
′
h
e
l
l
o
′
;
/
/
存
储
结
果
:
arr[] = 'hello'; // 存储结果:
arr[]=′hello′;//存储结果:arr[1] = ‘hello’
a
r
r
[
4
]
=
′
P
H
P
′
;
/
/
存
储
结
果
:
arr[4] = 'PHP'; // 存储结果:
arr[4]=′PHP′;//存储结果:arr[4] = ‘PHP’
a
r
r
[
′
n
a
m
e
′
]
=
′
T
o
m
′
;
/
/
存
储
结
果
:
arr['name'] = 'Tom'; // 存储结果:
arr[′name′]=′Tom′;//存储结果:arr[‘name’] = ‘Tom’
a
r
r
[
]
=
′
J
a
v
a
′
;
/
/
存
储
结
果
:
arr[] = 'Java'; // 存储结果:
arr[]=′Java′;//存储结果:arr[5] = 'Java’