首頁 後端開發 php教程 PHP函數應用之數組合並

PHP函數應用之數組合並

Jun 20, 2023 am 11:24 AM
php函數 陣列 合併

在PHP程式設計中,陣列(array)是一種非常常用的資料型別。 PHP中提供了許多用於操作數組的函數,包括數組合併(marge)函數。數組合併是指將兩個或多個數組中的元素合併到一個數組中。在本文中,我們將介紹PHP中的數字組合併函數以及其應用。

  1. array_merge()
    array_merge()函數是PHP中最基本的陣列合併函數,它將兩個或多個陣列的元素合併到一個陣列中。其使用方法如下:
mixed array_merge ( array $array1 [, array $... ] )
登入後複製

其中,參數array1表示要合併的第一個數組,後面的參數$...表示要合併的其他數組。例如:

$arr1 = array('apple', 'banana');
$arr2 = array('cat', 'dog', 'elephant');
$result = array_merge($arr1, $arr2);
print_r($result);
登入後複製

上述程式碼的輸出結果為:

Array
(
  [0] => apple
  [1] => banana
  [2] => cat
  [3] => dog
  [4] => elephant
)
登入後複製

從結果可以看出,函數array_merge()將兩個陣列$arr1和$arr2中的元素合併到了一個新的數組$result中,並依照原有的順序排列。

要注意的是,如果合併的陣列中存在相同的鍵名(key),則後面的值將覆寫前面的值。例如:

$arr1 = array('a' => 'apple', 'b' => 'banana');
$arr2 = array('a' => 'orange', 'c' => 'cherry');
$result = array_merge($arr1, $arr2);
print_r($result);
登入後複製

上述程式碼的輸出結果為:

Array
(
  [a] => orange
  [b] => banana
  [c] => cherry
)
登入後複製

從結果可以看出,數組$arr2中的鍵名'a'覆蓋了數組$arr1中的鍵名'a ',同時沒有合併鍵名'b'和'c'的值。

  1. array_merge_recursive()
    與array_merge()函數類似,array_merge_recursive()函數也是用來合併陣列的函式。其不同之處在於,它會處理多維數組並將相同鍵名的值以遞歸方式合併到一個數組中。其使用方法如下:
mixed array_merge_recursive ( array $array1 [, array $... ] )
登入後複製

例如:

$arr1 = array('a' => array('apple'), 'b' => array('banana'));
$arr2 = array('a' => array('orange'), 'c' => array('cherry'));
$result = array_merge_recursive($arr1, $arr2);
print_r($result);
登入後複製

上述程式碼的輸出結果為:

Array
(
  [a] => Array
    (
      [0] => apple
      [1] => orange
    )
  [b] => Array
    (
      [0] => banana
    )
  [c] => Array
    (
      [0] => cherry
    )
)
登入後複製

從結果可以看出,鍵名'a'對應的值是一個數組,在合併時,函數array_merge_recursive()會將數組中的值遞歸合併。

要注意的是,如果合併的陣列中存在相同的鍵名,它們的值將會合併成一個陣列。例如:

$arr1 = array('a' => array('apple'), 'b' => array('banana'));
$arr2 = array('a' => array('orange'), 'b' => array('cherry'));
$result = array_merge_recursive($arr1, $arr2);
print_r($result);
登入後複製

上述程式碼的輸出結果為:

Array
(
  [a] => Array
    (
      [0] => apple
      [1] => orange
    )
  [b] => Array
    (
      [0] => banana
      [1] => cherry
    )
)
登入後複製

從結果可以看出,鍵名'a'對應的值是一個數組,在合併時,函數array_merge_recursive()會將數組中的值遞歸合併。而對於鍵名'b',由於存在相同的鍵名,因此它們的值將合併成一個陣列。

  1. array_replace()
    array_replace()函數也是用於合併陣列的函數。與array_merge()函數不同的是,它會用一個陣列的值覆寫另一個陣列相同鍵名的值。其使用方法如下:
mixed array_replace ( array $array1, array $array2 [, array $... ] )
登入後複製

其中,參數$array1表示要被替換的數組,參數$array2表示替換用的數組,$...表示其他替換用的數組。例如:

$arr1 = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$arr2 = array('a' => 'orange', 'd' => 'durian');
$result = array_replace($arr1, $arr2);
print_r($result);
登入後複製

上述程式碼的輸出結果為:

Array
(
  [a] => orange
  [b] => banana
  [c] => cherry
  [d] => durian
)
登入後複製

從結果可以看出,函數array_replace()將陣列$arr1中鍵名為'a'的值'apple'替換成了數組$arr2中鍵名為'a'的值'orange'。

需要注意的是,當用一個數組來替換另一個數組時,如果數組中存在相同鍵名的值,則後面的值將覆蓋前面的值。例如:

$arr1 = array('a' => 'apple', 'b' => 'banana');
$arr2 = array('a' => 'orange', 'b' => 'cherry');
$result = array_replace($arr1, $arr2);
print_r($result);
登入後複製

上述程式碼的輸出結果為:

Array
(
  [a] => orange
  [b] => cherry
)
登入後複製

從結果可以看出,函數array_replace()將陣列$arr2中鍵名為'a'的值'orange'替換掉了數組$arr1中的值'apple',將鍵名為'b'的值'cherry'替換掉了數組$arr1中的值'banana'。

綜上所述,數組合併在PHP程式設計中是非常常用的操作。透過array_merge()、array_merge_recursive()和array_replace()這幾個PHP數組合併函數,可以實現數組的合併和替換操作,方便PHP編程。

以上是PHP函數應用之數組合並的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用 foreach 迴圈移除 PHP 陣列中的重複元素? 如何使用 foreach 迴圈移除 PHP 陣列中的重複元素? Apr 27, 2024 am 11:33 AM

如何使用 foreach 迴圈移除 PHP 陣列中的重複元素?

PHP 陣列鍵值翻轉:不同方法的效能比較分析 PHP 陣列鍵值翻轉:不同方法的效能比較分析 May 03, 2024 pm 09:03 PM

PHP 陣列鍵值翻轉:不同方法的效能比較分析

PHP數組多維排序實戰:從簡單到複雜場景 PHP數組多維排序實戰:從簡單到複雜場景 Apr 29, 2024 pm 09:12 PM

PHP數組多維排序實戰:從簡單到複雜場景

PHP數組深度複製的藝術:使用不同方法完美複製 PHP數組深度複製的藝術:使用不同方法完美複製 May 01, 2024 pm 12:30 PM

PHP數組深度複製的藝術:使用不同方法完美複製

深度複製PHP數組的最佳實踐:探索高效的方法 深度複製PHP數組的最佳實踐:探索高效的方法 Apr 30, 2024 pm 03:42 PM

深度複製PHP數組的最佳實踐:探索高效的方法

PHP 數組分組函數在資料整理的應用 PHP 數組分組函數在資料整理的應用 May 04, 2024 pm 01:03 PM

PHP 數組分組函數在資料整理的應用

PHP 函數與 Flutter 函數的異同 PHP 函數與 Flutter 函數的異同 Apr 24, 2024 pm 01:12 PM

PHP 函數與 Flutter 函數的異同

PHP 陣列分組函數在尋找重複元素中的作用 PHP 陣列分組函數在尋找重複元素中的作用 May 05, 2024 am 09:21 AM

PHP 陣列分組函數在尋找重複元素中的作用

See all articles