在php中,可以利用array_merge()和array_unique()函數來合併數組去除重複數據,語法格式「array_unique(array_merge(array1,array2..))」。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
php合併陣列移除重複資料
<?php header("Content-type:text/html;charset=utf-8"); $arr1 = array( 'id' => 1234, 'url' => 'https://www.php.cn/', 'language' => 'PHP', 'article' => '数组排序函数', 6 => '345' ); $arr2 = array( 'id' => 5678, 6 => 34, 8 => 26, 11 => '345' ); echo '<pre class="brush:php;toolbar:false">'; $arr = array_merge($arr1, $arr2); echo '将 $arr1 与 $arr2 合并,结果为:'."<br>"; print_r($arr); $array = array_unique($arr); echo '去除重复数据'."<br>"; print_r($array); ?>
輸出:
将 $arr1 与 $arr2 合并,结果为: Array ( [id] => 5678 [url] => https://www.php.cn/ [language] => PHP [article] => 数组排序函数 [0] => 345 [1] => 34 [2] => 26 [3] => 345 ) 去除重复数据 Array ( [id] => 5678 [url] => https://www.php.cn/ [language] => PHP [article] => 数组排序函数 [0] => 345 [1] => 34 [2] => 26 )
說明:
1、array_merge() 函數
array_merge()函數可以將一個或多個數組的單元合併起來,也就是將一個數組中的值附加在前一個數組的後面,並將合併後的數組返回,語法格式如下:
array_merge($array1 [, $array2 [, $array3 ...]])
參數$ array1、$array2、... 、$arrayn 為若干個要合併的陣列。
如果輸入的陣列中有相同的字串鍵名,則該鍵名後面的值將覆蓋前一個值;如果陣列包含數字鍵名,後面的值將不會覆蓋前面的值,而是附加到後面;如果函數只有一個數組參數並且該數組是數字索引的,則鍵名會以連續方式重新建立索引。
2、array_unique()函數
array_unique -- 移除陣列中重複的值
語法格式如下:
array array_unique ( array array )
array_unique() 接受array作為輸入並傳回沒有重複值的新數組
注意鍵名保留不變。 array_unique() 先將值作為字串排序,然後對每個值只保留第一個遇到的鍵名,接著忽略所有後面的鍵名。這並不表示在未排序的 array 中同一個值的第一個出現的鍵名會被保留。
註: 當且僅當 (string) $elem1 === (string) $elem2
時兩個單元被認為相同。就是說,當字串的表達一樣時。第一個單元將被保留。
推薦學習:《PHP影片教學》
以上是php怎麼合併數組去除重複數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!