前面通过从php数据类型中可以了解到关于php数组的内容。
PHP数组
数组能够在单个变量中存储多个值;
<?php $cars=array("Volvo","BMW","Toyota"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?>
运行结果:
I like Volvo, BMW and Toyota.
数组是什么?
数组是一个能在单个变量中存储多个值的特殊变量。
如果您有一个项目清单(例如:车名字的清单),将其存储到单个变量中,如下所示:
$cars2="BMW";
$cars3="Toyota";
然而,如果您想要遍历数组并找出特定的一个呢?如果数组的项不只 3 个而是 300 个呢?
解决办法是创建一个数组!
数组可以在单个变量中存储多个值,并且您可以根据键访问其中的值。
在 PHP 中创建数组
在 PHP 中,array() 函数用于创建数组:
在 PHP 中,有三种类型的数组:
-
数值数组 - 带有数字 ID 键的数组
-
关联数组 - 带有指定的键的数组,每个键关联一个值
-
多维数组 - 包含一个或多个数组的数组
1. PHP 数值数组
这里有两种创建数值数组的方法:
自动分配 ID 键(ID 键总是从 0 开始):
人工分配 ID 键:
$cars[1]="BMW";
$cars[2]="Toyota";
下面的实例创建一个名为 $cars 的数值数组,并给数组分配三个元素,然后打印一段包含数组值的文本:
<?php $cars=array("Volvo","BMW","Toyota"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?>
运行结果:
I like Volvo, BMW and Toyota.
获取数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素的数量):
<?php $cars=array("Volvo","BMW","Toyota"); echo count($cars); ?>
运行结果:
3
遍历数值数组
遍历并打印数值数组中的所有值,您可以使用 for 循环,如下所示:
<?php $cars=array("Volvo","BMW","Toyota"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; } ?>
运行结果:
Volvo BMW Toyota
这里用到了for循环,在后面的php循环语句中有介绍;
提示:遍历数组还可以用一个循环语句foreach();
2. PHP 关联数组
关联数组是使用您分配给数组的指定的键的数组。
这里有两种创建关联数组的方法:
or:
$age['Ben']="37";
$age['Joe']="43";
随后可以在脚本中使用指定的键:
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); echo "Peter is " . $age['Peter'] . " years old."; ?>
运行结果:
Peter is 35 years old.
遍历关联数组
遍历并打印关联数组中的所有值,您可以使用 foreach 循环,如下所示:
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>
运行结果:
Key=Peter, Value=35 Key=Ben, Value=37 Key=Joe, Value=43
3. 多维数组
一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组。依照这种方式,我们可以创建二维或者三维数组:
<?php // 二维数组: $cars = array ( array("Volvo",100,96), array("BMW",60,59), array("Toyota",110,100) ); print_r($cars); ?>
运行结果:
Array ( [0] => Array ( [0] => Volvo [1] => 100 [2] => 96 ) [1] => Array ( [0] => BMW [1] => 60 [2] => 59 ) [2] => Array ( [0] => Toyota [1] => 110 [2] => 100 ) )
从上面的结果中可以看到多维数组的样式。
多维数组是包含一个或多个数组的数组。
在多维数组中,主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组。
在这个实例中,我们创建了一个自动分配 ID 键的多维数组:
<?php $sites = array
(
"Griffin"=>array
(
"Peter",
"Lois",
"Megan"
),
"Quagmire"=>array
(
"Glenn"
),
"Brown"=>array
(
"Cleveland",
"Loretta",
"Junior"
)
); print("<pre>"); // 格式化输出数组 print_r($sites); print("</pre>"); ?>
运行结果:
Array
(
[Griffin] => Array
(
[0] => Peter
[1] => Lois
[2] => Megan
)
[Quagmire] => Array
(
[0] => Glenn
)
[Brown] => Array
(
[0] => Cleveland
[1] => Loretta
[2] => Junior
)
)
让我们试着显示上面数组中的某个值:
echo "Is " . $families['Griffin'][2] .
" a part of the Griffin family?";
运行结果:
Is Megan a part of the Griffin family?
关于数组的一些函数及操作会在下面有更多介绍。
如果你发现哪里写的有问题或跟你理解的有出入都可以加群讨论:368711665