PHP 数组
在本教程中,您将学习如何在 PHP 中将多个值存储在单个变量中。
什么是 PHP 数组
数组是复杂的变量,允许我们在一个变量名下存储多个值或一组值。 假设您想在 PHP 脚本中存储颜色。 将颜色一一存储在变量中可能如下所示:
<?php
$color1 = "Red";
$color2 = "Green";
$color3 = "Blue";
?>
但是,如果您想将一个地区的州或城市名称存储在变量中,这一次不仅仅是三个可能是一百个。 将每个城市名称存储在单独的变量中是非常困难、无聊和糟糕的主意。 这里数组开始发挥作用。
PHP中的数组类型
您可以创建三种类型的数组。 这些是:
- 索引数组 — 带有数字键的数组。
- 关联数组 — 一个数组,其中每个键都有自己的特定值。
- 多维数组 — 一个数组,其中包含一个或多个数组。
索引数组
索引数组或数字数组存储每个数组元素和一个数字索引。 下面的例子展示了两种创建索引数组的方法,最简单的方法是:
<?php
// 定义索引数组
$colors = array("Red", "Green", "Blue");
?>
注意:在索引或数值数组中,索引是自动分配的,并且从 0 开始,值可以是任何数据类型。
这等效于以下示例,其中手动分配索引:
<?php
$colors[0] = "Red";
$colors[1] = "Green";
$colors[2] = "Blue";
?>
关联数组
在关联数组中,分配给值的键可以是任意的和用户定义的字符串。 在以下示例中,数组使用键而不是索引号:
<?php
// 定义一个关联数组
$ages = array("Peter"=>22, "Clark"=>32, "John"=>28);
?>
以下示例与上一个示例等效,但显示了创建关联数组的不同方式:
<?php
$ages["Peter"] = "22";
$ages["Clark"] = "32";
$ages["John"] = "28";
?>
多维数组
多维数组是一个数组,其中每个元素也可以是一个数组,子数组中的每个元素可以是一个数组,也可以在其内部进一步包含数组等等。 多维数组的示例如下所示:
<?php
// 定义一个多维数组
$contacts = array(
array(
"name" => "Peter Parker",
"email" => "peterparker@mail.com",
),
array(
"name" => "Clark Kent",
"email" => "clarkkent@mail.com",
),
array(
"name" => "Harry Potter",
"email" => "harrypotter@mail.com",
)
);
// 访问嵌套值
echo "Peter Parker's Email-id is: " . $contacts[0]["email"];
?>
查看数组结构和值
您可以使用两个语句之一查看任何数组的结构和值 — var_dump()
或 print_r()
。 但是, print_r()
语句提供的信息要少一些。 考虑以下示例:
<?php
// 定义数组
$cities = array("London", "Paris", "New York");
// Display the cities array
print_r($cities);
?>
print_r()
语句给出以下输出:
此输出显示数组中每个元素的键和值。 要获取更多信息,请使用以下语句:
<?php
// 定义数组
$cities = array("London", "Paris", "New York");
// Display the cities array
var_dump($cities);
?>
此 var_dump()
语句提供以下输出:
此输出显示每个元素的数据类型,例如 6 个字符的字符串,以及键和值。 在下一章中,您将学习如何对数组元素进行排序。
您将在后面的章节中学习如何循环遍历数组的值。