目錄
1、“+”运算符
2、array array_merge ( array array1 [, array array2 [, array ...]] )
3、array array_merge_recursive ( array array1 [, array ...] )
首頁 後端開發 php教程 三种PHP合并数组的方法异同_PHP教程

三种PHP合并数组的方法异同_PHP教程

Jul 13, 2016 am 10:33 AM
array_merge 數組合併

1、“+”运算符

规则:当两个数组的键名是数字键名或者字符串键名可以直接 +,$c = $a + $b,在$a后追加($b在$a中不存在的键名)键名和值。

注意:

  1. 不覆盖,只是追加不存在的键名和对应的值。
  2. 键名不重新索引。
  3. 无论是全部数字键名还是混合,都只是追加键名和值,如果键名相同则不进行追加,即把最先出现的值作为最终结果返回。
<?php
$fruit_1 = array( 'apple', 'banana' );
$fruit_2 = array( 'orange', 'lemon' );
$fruit = $fruit_1 + $fruit_2;
var_dump($fruit);
 
// output:
// array(2) { [0]=> string(5) "apple" [1]=> string(6) "banana" }
?>
登入後複製

数字键名:

<?php
$a = array( 66=>'a' );
$b = array( 60=>'u', 66=>'c' );
$c = $a + $b;
var_dump($c);
 
// output:
// array(2) { [66]=> string(1) "a" [60]=> string(1) "u" }
?>
登入後複製

字符键名:

<?php
$a = array( 1=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' );
$b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' );
$c = $a + $b;
var_dump($c);
 
// output:
// array(7) { [1]=> string(1) "a" [2]=> string(1) "b" ["c"]=> string(1) "c" ["d"]=> string(1) "d" [3]=> string(1) "v" ["y"]=> string(1) "y" [60]=> string(1) "z" }
?>
登入後複製

2、array array_merge ( array array1 [, array array2 [, array ...]] )

规则:array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。 

注意:

  1. 数字索引,不会覆盖,值合并后,键名会连续方式重新索引
  2. 字符串键名,则该键名后面的值将覆盖前一个值
<?php
$a = array( 'a' );
$b = array( 'u' );
$c = array_merge($a, $b);
var_dump($c);
 
// output:
// array(2) { [0]=> string(1) "a" [1]=> string(1) "u" }
?>
登入後複製

数字键名:

<?php
$a = array( 66=>'a' );
$b = array( 60=>'u', 66=>'c' );
$c = array_merge($a, $b);
var_dump($c);
 
// output:
// array(3) { [0]=> string(1) "a" [1]=> string(1) "u" [2]=> string(1) "c" }
?>
登入後複製

字符键名:

<?php
$a = array( 1=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' );
$b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' );
$c = array_merge($a, $b);
var_dump($c);
 
// output:
// array(8) { [0]=> string(1) "a" [1]=> string(1) "b" ["c"]=> string(1) "w" ["d"]=> string(1) "x" [2]=> string(1) "u" [3]=> string(1) "v" ["y"]=> string(1) "y" [4]=> string(1) "z" }
?>
登入後複製

3、array array_merge_recursive ( array array1 [, array ...] )

array_merge_recursive() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。 

如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。

然而,如果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到后面。 

注意:规则跟array_merge基本相同,只是在处理相同字符键名的时候,采用递归追加。

<?php
$a = array( 'a' );
$b = array( 'u' );
$c = array_merge_recursive($a, $b);
var_dump($c);
 
// output:
// array(2) { [0]=> string(1) "a" [1]=> string(1) "u" }
?>
登入後複製

数字键名:

<?php
$a = array( 66=>'a' );
$b = array( 60=>'u', 66=>'c' );
$c = array_merge_recursive($a, $b);
var_dump($c);
 
// output:
// array(3) { [0]=> string(1) "a" [1]=> string(1) "u" [2]=> string(1) "c" }
?>
登入後複製

字符键名:

<?php
$a = array( 1=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' );
$b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' );
$c = array_merge_recursive($a, $b);
var_dump($c);
 
// output:
// array(8) { [0]=> string(1) "a" [1]=> string(1) "b" ["c"]=> array(2) { [0]=> string(1) "c" [1]=> string(1) "w" } ["d"]=> array(2) { [0]=> string(1) "d" [1]=> string(1) "x" } [2]=> string(1) "u" [3]=> string(1) "v" ["y"]=> string(1) "y" [4]=> string(1) "z" }
?>
登入後複製

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/752522.htmlTechArticle1、“+”运算符 规则:当两个数组的键名是数字键名或者字符串键名可以直接 +,$c = $a + $b,在$a后追加($b在$a中不存在的键名)键名和值。...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
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)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
PHP數組合併後,如何處理空數組? PHP數組合併後,如何處理空數組? Apr 28, 2024 pm 01:51 PM

PHP中使用array_merge()合併數組時,如果包含空字串或空數組,會產生令人困惑的結果。解:1.使用array_filter()過濾空值。 2.對於包含空數組的情況,使用遞歸合併函數array_merge_recursive_distinct()來保持一致的陣列結構。

PHP數組合併效率如何比較? PHP數組合併效率如何比較? Apr 28, 2024 am 11:09 AM

PHP數組合併效率比較:Array_merge()、+運算子和Array_replace()這三種方法的時間複雜度均為O(n),表示合併時間與陣列元素數量成正比。這三個方法的空間複雜度也是O(n),表示記憶體佔用與陣列元素數量成正比。實測結果表明,大數組合併時,Array_merge()和+運算子比Array_replace()更快。

PHP數組合併時,如何考慮時間複雜度? PHP數組合併時,如何考慮時間複雜度? Apr 28, 2024 pm 02:18 PM

對於PHP中的數字組合並,時間複雜度取決於演算法:array_merge()和+運算子為O(m+n),其中m和n是陣列大小。循環合併也是O(m+n)。根據數組大小和可用性等因素選擇適當的方法,並考慮效能需求以最佳化應用程式。

PHP8.0中陣列的合併操作:array_merge PHP8.0中陣列的合併操作:array_merge May 14, 2023 am 08:52 AM

在PHP8.0版本中,數字組合併操作是經過了改進的。這個改進主要針對的是數組資料類型的合併操作。在先前的版本中,PHP提供的數組合併操作是使用“+”符號實現的。但是,這種方法存在一些問題。如果兩個數組中包含相同的鍵,那麼第二個數組的鍵值將會覆蓋第一個數組中的鍵值,如果需要把兩個數字組合在一起,那麼就需要技巧地使用array_merge()函數了。現在,在PHP

PHP數組合併時,如何處理重複元素? PHP數組合併時,如何處理重複元素? Apr 28, 2024 pm 10:42 PM

在PHP中合併陣列時,可以選擇以下方法處理重複元素:使用array_merge()結合array_unique()移除重複元素。使用array_replace()覆寫重複元素而不改變原始陣列。使用array_diff()剔除一個陣列中不在另一個陣列中的元素。

PHP 5.5函數解析:如何使用array_reduce函數將陣列元素合併為一個值 PHP 5.5函數解析:如何使用array_reduce函數將陣列元素合併為一個值 Jul 30, 2023 pm 05:18 PM

PHP5.5函數解析:如何使用array_reduce函數將數組元素合併為一個值在PHP程式設計中,我們經常需要對數組進行處理,有時需要將數組的元素合併為一個值。這個時候,我們可以使用PHP5.5版本引入的array_reduce函數來實現這個功能。本文將詳細介紹array_reduce函數的使用方法,並提供對應的程式碼範例。 array_reduce函數是一

PHP 陣列如何合併和分割 PHP 陣列如何合併和分割 Sep 05, 2023 am 08:47 AM

PHP數組是一種非常常用的資料結構,在開發中經常涉及對數組的合併和分割操作。本文將介紹如何使用PHP語言實作這兩種操作,並附上對應的程式碼範例。一、合併數組合併數組的運算可以使用array_merge()函數來實現。此函數接受多個陣列作為參數,並將它們合併成一個新的陣列。程式碼範例:$array1=["apple","ba

使用PHP函數 'array_merge' 合併多個數組為一個數組 使用PHP函數 'array_merge' 合併多個數組為一個數組 Jul 24, 2023 am 11:49 AM

使用PHP函數"array_merge"合併多個數組為一個數組在PHP開發中,有時我們需要將多個數字組合併成一個大數組,以便更方便地處理資料。為了實現這項功能,PHP提供了一個強大的函數"array_merge"。 array_merge函數使用方法很簡單,它接受多個陣列作為參數,並將它們合併成一個新的陣列。以下是函數使用的基本語法:array_merg

See all articles