在 PHP 中推送元素到关联数组

在本教程中,我们将看到如何将项目或元素添加到关联数组中。

首先,我们将介绍什么以及如何创建关联数组。然后我们将元素添加到我们的关联数组中。

什么是 PHP 中的关联数组

关联数组是包含字符串而不是索引的数组。我们使用键值而不是线性索引来存储关联数组的元素。

这是关联数组的示例以及我们如何使用它。

<?php
// Create an array called age.
$age = array('Mike' => '24','Ann' => '19', 'Alice' => '32' );
echo "Mike is " . $age['Mike'] . ' years old.';
?>

输出:

Mike is 24 years old.

使用 array_push() 方法将元素插入 PHP 中的关联数组

如果我们有一个如下所示的关联数组,我们将如何添加新条目?

$color = array('a' => 'Red', 'b' => 'Blue' )

我们将在下面的示例代码中为上述数组添加两种新颜色。

<?php
$color = array('a' => 'Red', 'b' => 'Blue' );
// Add Green and White to the array.
array_push($color, 'Green', 'White');
print_r($color);
?>

输出:

Array
(
    [a] => Red
    [b] => Blue
    [0] => Green
    [1] => White
)

每当你将项目添加到数组时,它都会分配数字索引键。

使用 array_merge() 方法将元素插入 PHP 中的关联数组

在某些时候,你将拥有一个如下所示的关联数组。

$age = array("Mike" => "24","Ann" => "19", "Alice" => "19" )

我们如何添加像 22 岁的 John 这样的条目?

在这种情况下,array_push() 方法将不起作用。最好使用 array_merge(),如下所示。

<?php
$age = array("Mike" => "24","Ann" => "19", "Alice" => "19" );
$age1 = array("John" => "22");
//Merge the two arrays.
print_r(array_merge($age, $age1));
?>

输出:

Array
(
    [Mike] => 24
    [Ann] => 19
    [Alice] => 19
    [John] => 22
)

在上面的代码中,我们决定以新数组的形式添加我们的新条目。函数 array_merge() 将两者组合成一个数组。

你可以合并任意数量的数组。如果多个元素共享相同的键,则最后一个元素将覆盖第一个元素。

如果你感到困惑,这里有一个例子。

<?php
$color = array('a' => 'Red', 'b' => 'Blue' );
$color1 = array('b' => 'Neon', 'c' => 'Green');
print_r(array_merge($color,$color1));
?>

输出:

Array
(
    [a] => Red
    [b] => Neon
    [c] => Green
)

如输出所示,Blue 已被 Neon 覆盖。

如下所示,我们使用 array_merge_recursive() 来解决这个问题。

<?php
$color = array('a' => 'Red', 'b' => 'Blue' );
$color1 = array('b' => 'Neon', 'c' => 'Green');
print_r(array_merge_recursive($color,$color1));
?>

输出:

Array
(
    [a] => Red
    [b] => Array
        (
            [0] => Blue
            [1] => Neon
        )
    [c] => Green
)