在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' => '//m.sbmmt.com/', '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] => //m.sbmmt.com/ [language] => PHP [article] => 数组排序函数 [0] => 345 [1] => 34 [2] => 26 [3] => 345 ) 去除重复数据 Array ( [id] => 5678 [url] => //m.sbmmt.com/ [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中文网其他相关文章!