PHP 数组:关联、多维
⚡ 智能摘要
PHP 数组可以将多个相关值存储在单个变量中,从而方便对相关数据进行分组和处理。本教程将介绍数值数组、关联数组和多维数组,以及数组比较运算符和核心函数,例如 count、sort、ksort 和 asort。

什么是 PHP 数组?
PHP 数组是一种在单个变量中存储多条相关数据的变量。
把数组想象成一盒里面有插槽的巧克力。
盒子代表数组本身,而装有巧克力的空间代表存储在数组中的值。
以下示例说明了其工作原理。
数值数组
数值数组使用数字作为访问键。
访问键是对数组变量中内存槽的引用。
每当我们想要读取数组元素或为其分配新值时,都会用到访问密钥。
以下是 PHP 中创建数值数组的语法。
数组示例
<?php $variable_name[n] = value; ?>
Or
<?php
$variable_name = array(n => value, ...);
?>
这里,
- “$variable_name…” 是变量的名称
- “[n]”是元素的访问索引号
- “value” 是分配给数组元素的值。
现在让我们来看一个数值数组的例子。
假设我们有 5 部电影想要存储在数组变量中。
我们可以使用下面显示的示例来做到这一点。
<?php $movie[0] = 'Shaolin Monk'; $movie[1] = 'Drunken Master'; $movie[2] = 'American Ninja'; $movie[3] = 'Once upon a time in China'; $movie[4] = 'Replacement Killers'; ?>
在这里,
每部电影都有一个索引号,用于检索或修改其值。请看以下代码。
<?php $movie[0]="Shaolin Monk"; $movie[1]="Drunken Master"; $movie[2]="American Ninja"; $movie[3]="Once upon a time in China"; $movie[4]="Replacement Killers"; echo $movie[3]; $movie[3] = " Eastern Condors"; echo $movie[3]; ?>
输出:
Once upon a time in China Eastern Condors
从上面的例子可以看出,在 PHP 中处理多个相同性质的值时使用数组非常容易且灵活。
或者,也可以使用以下代码创建上述数组变量。
<?php $movie = array(0 => "Shaolin Monk", 1 => "Drunken Master", 2 => "American Ninja", 3 => "Once upon a time in China", 4 => "Replacement Killers" ); echo $movie[4]; ?>
输出:
Replacement Killers
PHP 关联数组
关联数组与数值数组的不同之处在于,关联数组使用描述性名称作为 ID 键。
以下是 PHP 中创建关联数组的语法。
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
这里,
- “$variable_name…” 是变量的名称
- “['key_name']”是元素的访问键。
- “value” 是分配给数组元素的值。
假设我们有一群人,我们想把每个人的性别与他们的名字对应起来。
我们可以使用关联数组来实现这一点。下面的代码可以帮助我们做到这一点。
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
这里,
输出:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
关联数组在从数据库中检索数据时也非常有用。
字段名称用作 id 键。
PHP 多维数组
这些是包含其他嵌套数组的数组。
多维数组的优点是它们允许我们将相关数据组合在一起。
现在让我们来看一个实现 PHP 多维数组的实际例子。
下表按类别显示了电影列表。
| 电影标题 | 类别 |
|---|---|
| 粉红豹 | 喜剧 |
| 约翰·英语 | 喜剧 |
| 虎胆龙威 | 操作 |
| 耗材 | 操作 |
| 指环王 | 史诗 |
| 罗密欧与朱丽叶“ | 浪漫 |
| 不看邪恶,不听邪恶 | 喜剧 |
上述信息可以表示为一个多维数组。以下代码展示了具体实现。
<?php $movies = array( "comedy" => array("Pink Panther", "John English", "See no evil hear no evil"), "action" => array("Die Hard", "Expendables"), "epic" => array("The Lord of the rings"), "Romance" => array("Romeo and Juliet") ); print_r($movies); ?>
这里,
输出:
Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )
定义同一个数组的另一种方法如下。
<?php $film = array( "comedy" => array( 0 => "Pink Panther", 1 => "John English", 2 => "See no evil hear no evil" ), "action" => array ( 0 => "Die Hard", 1 => "Expendables" ), "epic" => array ( 0 => "The Lord of the rings" ), "Romance" => array ( 0 => "Romeo and Juliet" ) ); echo $film["comedy"][0]; ?>
输出:
Pink Panther
注意:电影数值数组已嵌套在类别关联数组中。
PHP 数组: Opera职权范围
| Opera器 | 姓名 | 描述 | 怎么办呢 | 输出 |
|---|---|---|---|---|
| x+y | 工会 | 合并两个数组的元素 |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
数组([id] => 1 [值] => 10) |
| x == y | 等于 | 比较两个数组,如果它们相等则返回 true。 |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
True 或 1 |
| x === y | 相同 | 比较两个值并 数据类型 |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
False 或 0 |
| x != y,x <> y | 不相等 | 如果两个数组不相等,则返回 true。 |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
False 或 0 |
| x !== y | 不一致 | 如果两个数组的值或类型不相同,则返回 true |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
True 或 1 |
PHP 数组函数
计数功能
count 函数用于统计 PHP 数组中包含的元素数量。以下代码展示了该函数的实现。
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
输出:
3
is_ray 函数
is_array 函数用于判断一个变量是否为数组。现在让我们来看一个使用 is_array 函数的示例。
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
输出:
1
排序
此函数用于按数组值对数组进行排序。
如果值是字母数字,则按字母顺序对其进行排序。
如果值是数字,则按升序排序。
它会移除现有的访问键,并添加新的数字键。
该函数的输出是一个数值数组。
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
输出:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
此函数用于使用键对数组进行排序。以下示例说明了其用法。
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
输出:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
各种
本篇 function 用于根据值对数组进行排序,同时保持ping 密钥。以下示例说明了其用法。
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
输出:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
为什么要使用数组?
- 数组的内容可以扩展以容纳更多值。
- 数组可以轻松地将相关信息(例如服务器登录详细信息)分组在一起。
- 数组有助于编写更清晰的代码。



