如何在 PHP 中向陣列末尾新增元素


陣列是用於在程式設計中處理資料的線性資料結構。有時在處理陣列時,我們需要向現有陣列中新增新元素。在本文中,我們將討論幾種在 PHP 中向陣列末尾新增元素的方法,並提供程式碼示例、輸出以及每種方法的時間和空間複雜度分析。

以下是向陣列新增元素的不同方法:

使用方括號 []

我們在 PHP 中向陣列末尾新增元素的方法是使用方括號 []。此語法僅適用於我們只想新增單個元素的情況。以下是語法:

$array[] = value;

示例

<?php
   $friends = ['Ayush', 'Antima'];
   $friends[] = 'Smrita'; 
   // Adding a single element to the end
   print_r($friends);
?>

輸出

Array
(
 [0] => Ayush
 [1] => Antima
 [2] => Smrita
)

時間複雜度:O(1)

空間複雜度:O(1)

使用 array_push()

array_push() 函式用於向陣列末尾新增一個或多個元素。此方法主要用於我們需要一次新增多個元素時。以下是語法:

array_push($array, $value1, $value2, ...)

示例

<?php
   $friends = ['Ayush', 'Antima'];
   array_push($friends, 'Smrita', 'Priti'); 
   // Adding multiple elements
   print_r($friends);
?>

以下是上述程式碼的輸出:

Array
(
 [0] => Ayush
 [1] => Antima
 [2] => Smrita
 [3] => Priti
)

時間複雜度:如果新增多個元素,則為 O(n)

空間複雜度:O(1)

使用 array_merge()

如果我們想合併兩個陣列,我們使用 array_merge() 方法將多個數組合併為一個。當我們想將整個新元素陣列新增到現有陣列中時,此方法很有用。以下是語法:

$array = array_merge($array1, $array2, ...);

示例

<?php
   $friends = ['Ayush', 'Antima'];
   $newFriends = ['Smrita', 'Priti'];
   $friends = array_merge($friends, $newFriends);
   print_r($friends);
?>

以下是輸出:

Array
(
 [0] => Ayush
 [1] => Antima 
 [2] => Smrita
 [3] => Priti
)

時間複雜度:O(n)

空間複雜度:O(n)

使用 + 運算子

我們還可以使用 + 運算子組合陣列。我們應該始終記住,此方法主要適用於關聯陣列,並保留第一個陣列的鍵。如果鍵重疊,則只有第一個陣列的值將保留下來。以下是語法:

$array = $array1 + $array2;

示例

<?php
   $group1 = ['Ayush' => 1, 'Antima' => 2];
   $group2 = ['Smrita' => 3, 'Priti' => 4];
   $friends = $group1 + $group2;
   print_r($friends);
?>

以下是輸出:

Array
(
 [Ayush] => 1
 [Antima] => 2
)

時間複雜度:O(n)

空間複雜度:O(1)

使用 array_splice()

array_splice() 函式是一個非常強大且有用的函式。此函式用於在陣列中插入、刪除或替換元素。我們可以使用此方法在任何位置(包括末尾)插入新元素。以下是此方法的語法:

array_splice($array, $offset, $length, $replacement);

示例

<?php
   $friends = ['Ayush', 'Antima'];
   array_splice($friends, count($friends), 0, ['Smrita', 'Priti']); // Inserting at the end
   print_r($friends);
?>

以下是輸出:

Array ( [0] => Ayush [1] => Antima [2] => Smrita [3] => Priti )

時間複雜度:O(n)

空間複雜度:O(n)

更新於: 2024年11月1日

40 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.