溫馨提示×

php 數組合并array_merge與array_merge_recursive詳解

PHP
小億
170
2023-12-19 07:19:49
欄目: 編程語言

array_merge和array_merge_recursive是PHP中用于合并數組的兩個函數。它們的區別在于當數組鍵名沖突時的處理方式。

  1. array_merge函數:
    • array_merge函數將一個或多個數組合并為一個數組。
    • 當有多個數組作為參數傳入時,它會按順序將數組合并,后面的數組的元素會追加到前面數組的末尾。
    • 如果數組的鍵名是數字,合并后的鍵名會重新索引。
    • 如果數組的鍵名是字符串,且有相同的鍵名,后面的鍵名會覆蓋前面的鍵名。

示例:

$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "circle");
$mergedArray = array_merge($array1, $array2);
print_r($mergedArray);

輸出:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => circle
)
  1. array_merge_recursive函數:
    • array_merge_recursive函數將一個或多個數組遞歸地合并為一個數組。
    • 當有多個數組作為參數傳入時,它會按順序將數組合并,后面的數組的元素會追加到前面數組的末尾。
    • 如果數組的鍵名是數字,合并后的鍵名會重新索引。
    • 如果數組的鍵名是字符串,且有相同的鍵名,合并后的值會以數組形式存儲。

示例:

$array1 = array("color" => array("favorite" => "red"), 2, 4);
$array2 = array("color" => array("favorite" => "green", "blue"), "a", "b");
$mergedArray = array_merge_recursive($array1, $array2);
print_r($mergedArray);

輸出:

Array
(
    [color] => Array
        (
            [favorite] => Array
                (
                    [0] => red
                    [1] => green
                )

            [0] => blue
        )

    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
)

綜上所述,array_merge和array_merge_recursive函數都可以用于合并數組,但在處理鍵名沖突時的方式不同。array_merge會覆蓋前面的鍵名,而array_merge_recursive會將相同鍵名的值以數組形式存儲。根據具體的需求選擇適合的函數進行數組合并操作。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女