数组是一个特殊的变量,我们用它来在一个变量中存储或保存一个以上的值,而不需要创建更多的变量来存储这些值。
要在PHP中创建一个数组,我们使用数组函数array( ) 。
默认情况下,任何变量的数组都是从0 索引开始的。所以每当你想调用一个数组的第一个值时,就从0 开始,然后下一个是1...以此类推。
在PHP中,有不同类型的数组。它们是
- 数值/索引数组
- 关联数组
- 多维数组
让我们更详细地看看每一种数组是如何工作的。
什么是数字数组或索引数组?
数字数组是一种数组类型,可以存储字符串、数字和对象。下面是一个数字数组的例子:
<?php
// Numeric/ index arrays
$cars = array('Mecedes Benz', 'Hilux', 'Highlander', 'Hummer', 'Limozien');
var_dump($cars);
?>
从上面的代码中,我有一个变量$cars ,它存储了一个5个元素的数组。上面的var_dump($cars) 关键字将显示我们在数组中拥有的元素总数,每个数组的索引号,还有数组中每个元素的长度。
你也可以选择使用echo( ) 关键字,但在我的案例中,我更喜欢使用var_dump( ) ,因为它对我们得到的结果有更详细的解释:

你也可以选择在网络浏览器中只显示数组中的一个元素/项目,这样做:
<?php
$numbers = array('8', '20', '40', '58', '88', '200', '400', '500');
var_dump ($numbers [4]);
?>
上面的代码与我们对数组的定义模式相同,即从零开始计数。我们想显示索引为4 的元素。从0 to 4 开始算起,我们可以看到88 落在索引4 之下,表明88 是我们要找的数字,将显示在浏览器上:

什么是关联数组?
关联数组是一种数组类型,其中键有自己的值。在一个关联数组中,我们利用key 和value 。
Keys是用来访问数组值的数组元素的描述性标题。而value 是分配给该数组元素的值。
有些情况下,你不应该使用数字/索引数组,例如:
- 当你想把不同学生的年龄与他们的名字一起存储时
- 当你想记录员工的工资时
- 当你想存储一个学生在不同科目中的分数时
等等。
假设我们想把年龄和他们的名字一起分配给一组高中生。
我们可以使用关联数组的方法来完成它。比如说:
<?php
$student_age = array (
'Scott_Mcall' => 17,
'Stalenski' => 18,
'Lydia' => 16,
'Allision' => 17,
);
echo $student_age ['Scott_Mcall']; //this code will display the age of Scot_Mcall as 17
echo $student_age ['Stalenski']; //this code will display the age of stalenski as 18
echo $student_age ['Lydia']; //this code will display the age of Lydia as 16
echo $student_age ['Allision']; //this code will display the age of Allision as 17
?>
上面的代码是一个关联数组的例子。数组中的keys 是scott_Mcall,Stalenski,Lydia,Allision, 我们用它们来给每个学生分配年龄。数组中的value是17,18,16, 和17 。
什么是多维数组?
你可以把多维数组看成是一个数组的数组。这意味着数组中的每一个元素都在其中持有一个子数组。一般来说,多维数组允许你在一个变量中存储多个数组。
假设我们想存储在某一公司工作的一些员工的姓名、注册号码和电子邮件。我们可以使用多维数组来存档。
比如说:
<?php
$Staffs = [
[
'Name' => 'Derek Emmanuel',
'Reg_No' => 'FE/30304',
'Email' => 'derekemmanuel@gmail.com'
],
[
'Name' => 'Rubecca Michealson',
'Reg_No' => 'FE/20003',
'Email' => 'rmichealsongmail.com'
],
[
'Name' => 'Frank Castle',
'Reg_No' => 'FE/10002',
'Email' => 'fcastle86@gmail.com'
]
];
echo $Staffs [2] ['Email']; // This displays the email of the last staff which is fcastle86@gmail.com
echo $staffs [0] ['Name']; //This displays the Name of the staff in the first array (index 0) which is Derek Emmanuel
// you can access the information of any staff you wish to by using echo $(variable name) [index number] ['array element key'].
?>
记住,一个数组从索引0 开始计数。上面的代码是一个多维数组的例子,因为它包含一个以上的数组(数组的数组),只有一个变量$staff 。
echo $staff [2] [‘Email’] 显示属于2 索引的工作人员的电子邮件。在我们的例子中,它将显示 fcastle86@gmail.com.
如果我想访问第一个数组中的工作人员的Email,我们要做的是:
echo $staff [0] ['Email'];
使用上面的方法,你可以通过上面的代码访问和显示数组中的任何信息。
结论
到此为止,当你在一个PHP项目中工作时,你应该能够使用三种不同类型的数组。
谢谢你的阅读。
祝你编码愉快!