PHP 数组:关联、多维

⚡ 智能摘要

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

  • 🧰 数组的作用: 数组可以将多个相关的值保存在一个变量中,并通过数字键或命名键来访问,而不是使用多个单独的变量。
  • 🔢 数值数组: 数值数组使用从零开始的整数索引键来读取或赋值每个存储的元素。
  • 🏷️ 关联数组: 关联数组使用描述性字符串键,非常适合将名称与值配对或映射。ping 数据库字段。
  • 🧬 多维: 多维数组将数组嵌套在另一个数组中,分组ping 结构化数据,例如按类别组织的电影。
  • 排列 Opera目的: 联合运算符合并数组,而 == 检查值是否相等,=== 还会检查键的顺序和数据类型。
  • 🔧 数组函数: count、is_array、sort、ksort 和 asort 函数按值或键对数组内容进行报告和重新排序。
  • 🤖 人工智能辅助: AI 工具可以将数据库行转换为关联数组,并帮助调试复杂的多维数组结构。

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 数组

每部电影都有一个索引号,用于检索或修改其值。请看以下代码。

<?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"];
?>

这里,

PHP 数组

输出:

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);
?>

这里,

PHP 数组

输出:

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 )

为什么要使用数组?

  • 数组的内容可以扩展以容纳更多值。
  • 数组可以轻松地将相关信息(例如服务器登录详细信息)分组在一起。
  • 数组有助于编写更清晰的代码。

常见问题

foreach 循环是最常用的方法。可以使用 foreach ($array as $value) 读取数组中的每个值,或者使用 foreach ($array as $key => $value) 读取数组中每个元素的键和值。

sort() 函数会重新排列数组中的值,并使用新的数字键重新索引数组,从而丢失原始键。asort() 函数则按值排序,但会保留每个值与其原始键的关联,这对于关联数组来说至关重要。

使用 `array_push()` 或 `$arr[] = value` 函数向数组末尾添加元素,使用 `array_pop()` 或 `array_shift()` 函数从数组末尾或开头移除元素。要按键删除特定元素,请使用 `unset()` 函数。

是的。人工智能可以编写提取循环,将每一行映射到以列名作为键的关联数组中,并建议使用直接从数据库驱动程序返回关联数组的提取方法。

是的。粘贴 print_r 或 var_dump 的输出,AI 可以解释嵌套结构,显示诸如 $film['comedy'][0] 之类的值的确切路径,并找出不匹配的键或级别。

总结一下这篇文章: