在 PHP 中推送元素到关联数组
John Wachira
2023年1月30日
在本教程中,我们将看到如何将项目或元素添加到关联数组中。
首先,我们将介绍什么以及如何创建关联数组。然后我们将元素添加到我们的关联数组中。
什么是 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
)
作者: John Wachira
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn