实例讲解PHP如何将元素添加到多维数组

在PHP中,我们经常会用到多维数组关联数组。你知道如何向这个多维数组或关联数组添加元素吗?

什么是多维数组?

多维数组是包含数组元素的数组。多维数组描述如下。

$multi_dimensional_array = [
    ["张三", "24", "男"],
    ["李四", "32", "女"],
    ["王五", "35", "女"]
];

这样就可以将多个数组统一存储在一个数组中进行管理。

实例讲解PHP如何将元素添加到多维数组  第1张

向多维数组添加元素

那么如果我们想在上面的多维数组中添加另一个元素呢?下面详细介绍如何向数组添加元素。

将元素添加到数组末尾

首先,我将向您展示如何将一个元素添加到多维数组的末尾。如果要将元素添加到多维数组的末尾,请使用[]添加元素或使用array_push函数添加元素。

下面是使用[]将元素添加到数组末尾的示例代码。

示例代码 1

// 多维数组
$multi_dimensional_array = [
    ["张三", "24", "男"],
    ["李四", "32", "女"],
    ["王五", "35", "女"]
];
 
// 在数组末尾添加元素
$multi_dimensional_array[] = ["赵六", "29", "男"];
 
// 输出多维数组
var_dump($multi_dimensional_array);

示例代码中已有一个名为$multi_dimensional_array的多维数组。

我们将新增的元素分配给$multi_dimensional_array[]。

上述示例代码1的输出结果如下所述。

array(4) {
  [0]=>
  array(3) {
    [0]=>
    string(6) "张三"
    [1]=>
    string(2) "24"
    [2]=>
    string(3) "男"
  }
  [1]=>
  array(3) {
    [0]=>
    string(6) "李四"
    [1]=>
    string(2) "32"
    [2]=>
    string(3) "女"
  }
  [2]=>
  array(3) {
    [0]=>
    string(6) "王五"
    [1]=>
    string(2) "35"
    [2]=>
    string(3) "女"
  }
  [3]=>
  array(3) {
    [0]=>
    string(6) "赵六"
    [1]=>
    string(2) "29"
    [2]=>
    string(3) "男"
  }
}

实例讲解PHP如何将元素添加到多维数组  第2张

可以看到添加的元素存储在数组的末尾。

此外,将元素添加到数组末尾的另一种方法是array_push函数。

示例代码 2

// 多维数组
$multi_dimensional_array = [
    ["张三", "24", "男"],
    ["李四", "32", "女"],
    ["王五", "35", "女"]
];
 
// 在数组末尾添加元素
array_push($multi_dimensional_array, ["赵六", "29", "男"]);
 
// 输出多维数组
var_dump($multi_dimensional_array);

同样在这种情况下,可以看到执行代码与示例代码1输出相同的结果。

将元素添加到数组的开头

接下来,我将向您展示如何将元素添加到数组的开头。

在这种情况下,请使用array_unshift函数。

用法与示例代码2中的array_push函数相同。

示例代码 3

// 多维数组
$multi_dimensional_array = [
    ["张三", "24", "男"],
    ["李四", "32", "女"],
    ["王五", "35", "女"]
];
 
// 在数组末尾添加元素
array_unshift($multi_dimensional_array, ["赵六", "29", "男"]);
 
// 输出多维数组
var_dump($multi_dimensional_array);

示例代码3的输出结果如下。

array(4) {
  [0]=>
  array(3) {
    [0]=>
    string(6) "赵六"
    [1]=>
    string(2) "29"
    [2]=>
    string(3) "男"
  }
  [1]=>
  array(3) {
    [0]=>
    string(6) "张三"
    [1]=>
    string(2) "24"
    [2]=>
    string(3) "男"
  }
  [2]=>
  array(3) {
    [0]=>
    string(6) "李四"
    [1]=>
    string(2) "32"
    [2]=>
    string(3) "女"
  }
  [3]=>
  array(3) {
    [0]=>
    string(6) "王五"
    [1]=>
    string(2) "35"
    [2]=>
    string(3) "女"
  }
}

实例讲解PHP如何将元素添加到多维数组  第3张

从输出结果可以看出,array_unshift函数添加的元素被添加到了开头。

合并多维数组和关联数组

最后,我将演示如何将数组与数组结合起来。在此之前,我们先来看一下关联数组。

什么是关联数组

关联数组是数组中的元素由字符串管理,而不是由序号管理的数组。

$associative_array = [
    "员工" => ["张三", "23", "男"],
    "主管" => ["李四", "29", "女"],
    "总监" => ["王五", "41", "男"]
];

关联数组为每个元素指定字符串“员工”,“主管”和“总监”。多维数组且是关联数组的数组经常出现,趁此机会记住。

关联数组的每个元素中都有字符串“员工”、“主管”和“总监”。作为多维数组和关联数组的数组经常出现,所以我们借此机会记住它们。

如何合并数组

现在,我将解释如何合并多维数组和关联数组。首先,准备以下数组 A 和 B。

// 数组A
$array_a = [
    "fruits" => ["苹果", "红色"],
    ["棒球", "足球"]
];
 
// 数组B
$array_b = [
    ["西餐", "中餐"],
    "drink" => ["牛奶", "白色"],
    "fruits" => ["橘子", "橙色"]
];
 
// 使用array_merge合并数组
var_dump(array_merge($array_a, $array_b));

要合并这些数组,请使用array_merge方法。

array_merfge 方法将两个数组作为参数,并用第二个参数的数组覆盖第一个参数的数组。(具有相同键的元素被覆盖,具有不同键的元素被添加。)让我们检查输出结果。

array(4) {
  ["fruits"]=>
  array(2) {
    [0]=>
    string(6) "橘子"
    [1]=>
    string(6) "橙色"
  }
  [0]=>
  array(2) {
    [0]=>
    string(6) "棒球"
    [1]=>
    string(6) "足球"
  }
  [1]=>
  array(2) {
    [0]=>
    string(6) "西餐"
    [1]=>
    string(6) "中餐"
  }
  ["drink"]=>
  array(2) {
    [0]=>
    string(6) "牛奶"
    [1]=>
    string(6) "白色"
  }
}

实例讲解PHP如何将元素添加到多维数组  第4张

从上面的输出结果可以确认,分开的数组A和B已经变成了一个数组。如果你更详细地检查它,你会发现数组 B 的元素添加在数组 A 的元素之后。

但是,由于数组 A 和数组 B 中都存在键为“fruits”的元素,因此数组 B 中的“fruits”元素会覆盖数组 A。

这样,array_merfge 方法就可以将参数数组 A 和数组 B 合并为一个数组。

结语

在本文中,我解释了如何使用示例程序向多维数组添加元素。

  • array_push方法用于将元素添加到多维数组的末尾;

  • array_unshift方法用于将元素添加到多维数组的开头;

  • array_merge方法用于合并数组;

本文来源:词雅网

本文地址:https://www.ciyawang.com/php-multi-dimensional-array.html

本文使用「 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 」许可协议授权,转载或使用请署名并注明出处。

相关推荐