HOWTO · PHP

在 PHP 中推送元素到關聯陣列

在本教程中,我們將瞭解如何在 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
)