PHP 数组:关联、多维
什么是 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 | 不相等 |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
False 或 0 | |
X !== y | 不一致 |
<?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 用于使用值对数组进行排序。以下示例说明了其用法。
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
输出:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
为什么要使用数组?
- 数组的内容可以拉伸,
- 数组可轻松帮助将相关信息(例如服务器登录详细信息)分组在一起
- 数组有助于编写更清晰的代码。
总结
- 数组是具有存储多个值的能力的特殊变量。
- 数组具有灵活性,可以轻松扩展以容纳更多值
- 数字数组使用数字作为数组键
- PHP 关联数组使用描述性名称作为数组键
- 多维数组内部包含其他数组。
- count 函数用于获取数组中存储的项目数
- is_array 函数用于判断变量是否是有效数组。
- 其他数组函数包括 sort、ksort、assort 等。