数组能够在单独的变量名中存储一个或多个值。
什么是数组?
在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量。
无需很多相似的变量,你可以把数据作为元素存储在数组中。
数组中的元素都有自己的 ID,因此可以方便地访问它们。
有三种数组类型:
数值数组
带有数字 ID 键的数组
关联数组
数组中的每个 ID 键关联一个值
多维数组
包含一个或多个数组的数组
数值数组
数值数组存储的每个元素都带有一个数字 ID 键。
可以使用不同的方法来创建数值数组:
例子 1
在这个例子中,会自动分配 ID 键:
$name = {"xiaoming" , "dingding" , "dongdong"};
在这个例子中,我们人工分配的 ID 键:
<?php
$name[0] = "xiaoming";
$name[1] = "dingding";
$name[2] = "dongdong";
echo $name[1] . " and " . $name[2] . " and " . $name[0] . "is neighbors";
?>
以上代码的输出:
dingding and dongdong and xiaoming is neighbors
关联数组
关联数组,它的每个 ID 键都关联一个值。
在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。
通过关联数组,我们可以把值作为键,并向它们赋值。
例子 1
在本例中,我们使用一个数组把年龄分配给不同的人:
$ages = array("Xiaoming"=>12 , "dingding"=>13 , "dongdong"=>11);
例子 2
本例与例子 1 相同,不过展示了另一种创建数组的方法:
$ages['xiaoming'] = "12";
$ages['dingding'] = "13";
$ages['dongdong'] = "11";
可以在脚本中使用ID键:
<?php
$ages['xiaoming'] = "12";
$ages['dingding'] = "13";
$ages['dongdong'] = "11";
echo "xiaoming is" . $ages['xiaoming'] . " years old.";
?>
以上脚本的输出为:
xiaoming is 12 years old
多维数组
在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。
例子 1
在本例中,我们创建了一个带有自动分配的 ID 键的多维数组:
$families = array
(
"xiaoming" => array
(
"xiaobao",
"xiaoxin",
"xiaoqiang"
),
"dingding" => array
(
"dingdang"
),
"dongdong" => array
(
"dong1",
"dong2",
"dong3"
)
);
如果输出这个数组的话,应该类似这样:
Array
(
[xiaoming] => Array
(
[0] => xiaobao
[1] => xiaoxin
[2] =>xiaoqiang
)
[dingding] => Array
(
[0] =>dingdong
)
[dongdong] => Array
(
[0] => dong1
[1] => dong2
[2] => dong3
)
)
例子 2
让我们试着显示上面的数组中的一个单一的值:
echo $families['xiaoming'][0] . " is a part of the xiaoming family.";
以上代码的输出为:
xiaobao is a part of the xiaoming family.