什么是数组?
在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量,
1.8 数组 & 循环
。无需很多相似的变量,你可以把数据作为元素存储在数组中。
数组中的元素都有自己的 ID,因此可以方便地访问它们。
有三种数组类型:
- 数值数组
- 带有数字 ID 键的数组
- 关联数组
- 数组中的每个 ID 键关联一个值
- 多维数组
- 包含一个或多个数组的数组
数值数组
数值数组存储的每个元素都带有一个数字 ID 键。
可以使用不同的方法来创建数值数组:
例子 1
在这个例子中,会自动分配 ID 键:
$names = array("Peter","Quagmire","Joe");
例子 2
在这个例子中,我们人工分配的 ID 键:
$names[0] = "Peter";$names[1] = "Quagmire";$names[2] = "Joe";
可以在脚本中使用这些 ID 键:
<?php$names[0] = "Peter";$names[1] = "Quagmire";$names[2] = "Joe";echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors";?>
以上代码的输出:
Quagmire and Joe are Peter's neighbors
关联数组
关联数组,它的每个 ID 键都关联一个值。
在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。
通过关联数组,我们可以把值作为键,并向它们赋值。
例子 1
在本例中,我们使用一个数组把年龄分配给不同的人:
$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);
例子 2
本例与例子 1 相同,不过展示了另一种创建数组的方法:
$ages['Peter'] = "32";$ages['Quagmire'] = "30";$ages['Joe'] = "34";
可以在脚本中使用 ID 键:
<?php$ages['Peter'] = "32";$ages['Quagmire'] = "30";$ages['Joe'] = "34";echo "Peter is " . $ages['Peter'] . " years old.";?>
以上脚本的输出:
Peter is 32 years old.
多维数组
在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。
例子 1
在本例中,我们创建了一个带有自动分配的 ID 键的多维数组:
$families = array( "Griffin"=>array ( "Peter", "Lois", "Megan" ), "Quagmire"=>array ( "Glenn" ), "Brown"=>array ( "Cleveland", "Loretta", "Junior" ));
如果输出这个数组的话,应该类似这样:
Array([Griffin] => Array ( [0] => Peter [1] => Lois [2] => Megan )[Quagmire] => Array ( [0] => Glenn )[Brown] => Array ( [0] => Cleveland [1] => Loretta [2] => Junior ))
例子 2
让我们试着显示上面的数组中的一个单一的值:
echo "Is " . $families['Griffin'][2] . " a part of the Griffin family?";
以上代码的输出:
Is Megan a part of the Griffin family?
循环
在您编写代码时,您经常需要让相同的代码块运行很多次,
电脑资料
《1.8 数组 & 循环》(https://www.unjs.com)。您可以在代码中使用循环语句来完成这个任务。在 PHP 中,我们可以使用下列循环语句:
- while
- 只要指定的条件成立,则循环执行代码块
- do...while
- 首先执行一次代码块,然后在指定的条件成立时重复这个循环
- for
- 循环执行代码块指定的次数
- foreach
- 根据数组中每个元素来循环代码块
while 语句
只要指定的条件成立,while 语句将重复执行代码块。
语法
while (condition)code to be executed;
例子
下面的例子示范了一个循环,只要变量 i 小于或等于 5,代码就会一直循环执行下去。循环每循环一次,变量就会递增 1:
<html><body><?php $i=1;while($i<=5) { echo "The number is " . $i . "<br />"; $i++; }?></body></html>
do...while 语句
do...while 语句会至少执行一次代码- 然后,只要条件成立,就会重复进行循环。
语法
do{code to be executed;}while (condition);
例子
下面的例子将对 i 的值进行一次累加,然后,只要 i 小于 5 的条件成立,就会继续累加下去:
<html><body><?php $i=0;do { $i++; echo "The number is " . $i . "<br />"; }while ($i<5);?></body></html>
for 语句
如果您已经确定了代码块的重复执行次数,则可以使用 for 语句。
语法
for (initialization; condition; increment){ code to be executed;}
注释:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。