在 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