扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
?php
成都创新互联专业成都网站制作、成都网站建设,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文营销等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?
array_unique -- 移除数组中重复的值说明array array_unique ( array array )
array_unique() 接受 array 作为输入并返回没有重复值的新数组。
注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。
注: 当且仅当 (string) $elem1 === (string) $elem2 时两个单元被认为相同。就是说,当字符串的表达一样时。
第一个单元将被保留。
例子1. array_unique() 例子
复制代码 代码如下:?php
$input = array("a" = "green", "red", "b" = "green", "blue", "red");
$result = array_unique($input);
print_r($result);?上例将输出:
复制代码 代码如下:Array([a] = green[0] = red[1] = blue)例子2. array_unique() 和类型
上例将输出:
复制代码 代码如下:?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);?复制代码 代码如下:array(2) {
参考:
( )利用php提供的函数 array_unique和array_diff_assoc来实现
复制代码 代码如下: ?php function FetchRepeatMemberInArray($array) { // 获取去掉重复数据的数组 $unique_arr = array_unique ( $array ); // 获取重复数据的数组 $repeat_arr = array_diff_assoc ( $array $unique_arr ); return $repeat_arr; } // 测试用例 $array = array ( apple iphone miui apple orange orange ); $repeat_arr = FetchRepeatMemberInArray ( $array ); print_r ( $repeat_arr ); ?
( )自己写函数实现这个功能 利用两次for循环
复制代码 代码如下: lishixinzhi/Article/program/PHP/201311/20965
$arr = array(1,2,4,2,0,9,8,5);//定义一个数组。
$arr1 = $arr; //定义另一个数组和上一个数组一样。
//循环第一个数组让后循环第二个数组 用第一个数组的每个值和第二个数组比较如果相同就删除,最后输出第二个数组就行了。
for($i = 0;$icount($arr);$i++){
for($j=$i+1;$jcount($arr);$j++){
if($arr[$i] == $arr[$j])
unset($arr1[$i]);
}
}
echo'pre';
print_r($arr1);
第二 如果允许使用array_uniqe()函数的话,直接array_uniqe(直接写数组名就ok)。
在PHP中可以使用内置函数array_unique()来直接删除重复元素,也可以使用array_flip()函数来间接删除重复元素。
1.array_unique()函数
array_unique()函数可以移除数组中的重复的值,并返回结果数组;当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。
代码示例:
?php$result1 = array("a" = "green", "red", "b" = "green", "blue",
"red");var_dump($result1);$result2 = array_unique($result1);var_dump($result2);?
2.array_flip()函数
array_flip()是反转数组键和值的函数,它有个特性就是如果数组中有二个值是一样的,那么反转后会保留最后一个键和值,利用这个特性我们用他来间接的实现数组的去重。
代码示例:
?phpheader("content-type:text/html;
charset=utf-8");$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);// 输出原始数组echo "原始数组
:";var_dump($a);// 。
通过使用翻转键和值移除重复值$a = array_flip($a);
// 通过再次翻转键和值来恢复数组元素$a = array_flip($a);// 重新排序数组键$a = array_values($a);// 输出更新后的数组echo "更新数组 :";var_dump($a);?
扩展资料:
在 PHP 中创建数组:
在 PHP 中, array() 函数用于创建数组:
array();
在 PHP 中,有三种数组类型:
索引数组 - 带有数字索引的数组。
关联数组 - 带有指定键的数组。
多维数组 - 包含一个或多个数组的数组。
1、PHP 索引数组
有两种创建索引数组的方法:
索引是自动分配的(索引从 0 开始):
$cars=array("porsche","BMW","Volvo");
或者也可以手动分配索引:
$cars[0]="porsche";
2、遍历索引数组:
如需遍历并输出索引数组的所有值,可以使用 for 循环,就像这样:
实例:
?php
$cars=array("porsche","BMW","Volvo");
$arrlength=count($cars);
for($x=0;$x$arrlength;$x++) {
echo $cars[$x];
echo "br";
}
?
3、多维数组:
将在 PHP 高级教程出现多维数组。
参考资料来源:百度百科-PHP
获取一个数组中重复的元素 代码如下:
a 方法一:
代码如下
function array_repeat($arr) { if(!is_array($arr)) return $arr; $arr = array_count_values($arr); $newArr = array(); foreach($arr as $k=$v) { if($v ) array_push($newArr $k); } return $newArr; }
b 方法二:
代码如下
function array_repeat($arr) { if(!is_array($arr)) return $arr; $arr = array_unique($arr); $arr = array_diff_key($arr $arr ); return array_unique($arr ); }
测试方法
代码如下
$arr = array( apple blue red banana pear apple blue color color ); print_r(array_repeat($arr));
结果: Array ( [ ] = apple [ ] = blue [ ] = color )
后来代一些删除数组重复元素的方法
array_keys函数来删除数组重复元素
*/
代码如下
$a=array("red" "green" "blue" "yellow"); count($a); //得到 unset($a[ ]); //删除第二个元素 count($a); //得到 echo $a[ ]; //数组中仅有三个元素 本想得到最后一个元素 但却得到blue echo $a[ ]; //无值
//array array_splice (array input int offset [ int length [ array replacement]]) //array_splice()其实是替换数组元素的函数 但如果不加替换值就简单的删除元素 下面是array_splice()的用法: $b=array("red" "green" "blue" "yellow"); array_splice($a );
//下面看一个比较全面的删除重复值并且删除指定的数组元素
代码如下
$array = array( = " it net" = "菠萝" = " it net" = "香蕉" = "芭乐" = " it net" = " it net");
$search_keys = array_keys($array " it net");
foreach($search_keys as $key) { unset($array [$key]); }
print_r($array );
/* 得到结果 array ( [ ] = 菠萝 [ ] = 芭乐 [ ] = 香蕉 ) */
lishixinzhi/Article/program/PHP/201311/20922
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流