主题
  • 默认模式
  • 浅蓝色模式
  • 淡绿色模式
  • 深夜模式

PHP 数组

在 PHP 中,数组是一种基本的数据结构,其作用是在单个变量名下存储多个相同类型或不同类型的数据元素。

借助数组,你能够集中管理和操作一组相关的数据,而无需为每个数据单独创建变量。

✅ PHP 中有三种类型的数组:

  • 索引数组 - 索引数组使用数字作为键名,从0开始自动分配。
  • 关联数组 - 关联数组使用指定的键名(字符串)来访问值。
  • 多维数组 - 数组中可以包含其他数组,形成多维数组。

PHP 索引数组

索引数组是 PHP 中最基本的数组类型,使用数字作为键名(从0开始自动递增)。

1. 创建索引数组

✅ 使用array()函数创建

$fruits = array("Apple", "Banana", "Orange");

✅ 使用短数组语法创建(PHP 5.4+)

$fruits = ["Apple", "Banana", "Orange"];

✅ 逐个添加元素创建

$fruits = []; // 空数组
$fruits[0] = "Apple";
$fruits[1] = "Banana";
$fruits[2] = "Orange";

// 或者省略索引,PHP 会自动分配
$fruits = [];
$fruits[] = "Apple";  // 索引0
$fruits[] = "Banana"; // 索引1
$fruits[] = "Orange"; // 索引2

2. 访问数组元素

✅ 使用数组名 + [索引]即可访问数组的元素了。

echo $fruits[0]; // 输出: Apple
echo $fruits[1]; // 输出: Banana

3. 修改数组元素

✅ 修改数组元素非常方便,重新赋值即可覆盖原来的值了。

$fruits[1] = "Mango"; // 将 Banana 改为 Mango

4. 添加新元素

✅ 使用数组名 + [空白索引]或者使用数组名 + [],就可以添加新元素了。

$fruits[] = "Grape"; // 自动分配下一个数字索引(3)
$fruits[4] = "Peach"; // 指定索引4

PHP 关联数组

关联数组是使用键值对(key-value pairs)存储数据的数组。

与索引数组不同,关联数组的键可以是字符串(也可以是数字),且键名是开发者显式指定的。

1. 创建关联数组

✅ 使用array()函数创建

$person = array(
    "name" => "John",
    "age" => 30,
    "city" => "New York"
);

✅ 使用短数组语法创建(PHP 5.4+)

$person = [
    "name" => "John",
    "age" => 30,
    "city" => "New York"
];

2. 访问关联数组元素

✅ 使用数组名 + [字符串]即可访问数组的元素了。

echo $person["name"];  // 输出: John
echo $person["age"];   // 输出: 30

3. 添加/修改元素

✅ 直接为数组名 + [字符串] 赋值,即可添加或者修改元素。

// 添加新元素
$person["email"] = "john@example.com";

// 修改现有元素
$person["age"] = 31;

PHP 多维数组

多维数组是指包含一个或多个数组的数组。在 PHP 中,数组可以嵌套到任意深度,形成二维、三维甚至更高维度的数组结构。

1. 创建多维数组

✅ 创建二维数组

$students = array(
    array("name" => "张三", "age" => 20, "grade" => 85),
    array("name" => "李四", "age" => 21, "grade" => 90),
    array("name" => "王五", "age" => 19, "grade" => 78)
);
// 或者(PHP 5.4+)
$students = [
    ["name" => "张三", "age" => 20, "grade" => 85],
    ["name" => "李四", "age" => 21, "grade" => 90],
    ["name" => "王五", "age" => 19, "grade" => 78],
];

✅ 创建三维数组

$school = array(
    "class1" => array(
        array("name" => "张三", "scores" => array(85, 90, 78)),
        array("name" => "李四", "scores" => array(92, 88, 95))
    ),
    "class2" => array(
        array("name" => "王五", "scores" => array(76, 82, 79)),
        array("name" => "赵六", "scores" => array(88, 90, 87))
    )
);
// 或者(PHP 5.4+)
$school = [
    "class1" => [
        ["name" => "张三", "scores" => [85, 90, 78]],
        ["name" => "李四", "scores" => [92, 88, 95]]
    ],
    "class2" => [
        ["name" => "王五", "scores" => [76, 82, 79]],
        ["name" => "赵六", "scores" => [88, 90, 87]]
    ]
];

2. 访问多维数组元素

访问二维数组、三维数组使用数组名[键名][键名]...即可。

// 访问二维数组
echo $students[0]["name"]; // 输出: 张三
echo $students[1]["grade"]; // 输出: 90

// 访问三维数组
echo $school["class1"][0]["name"]; // 输出: 张三
echo $school["class2"][1]["scores"][0]; // 输出: 88

关于 PHP 数组函数的完整列表和详细说明,您可以查阅 PHP Array 函数参考手册 部分。



评论区 0
发表评论