php 删除数组重复数据,PHP删除数组重复元素函数

文章列出一三种删除数组中重复元素函数与实例代码,前二种是利用循环来判断删除重复的数组值,最后一种是比经典的,利用了array_flip()的特性,把值变成键名,再返回重复键名就会丢失。

function delsame(&$array)

{

$i = 0;

while(isset($array[$i]))

{

$j = $i 1;

while(isset($array[$j]))

{

if($array[$i] == $array[$j]) //如果发现后面有重复的元素

{

delmember($array, $j); //把它删除

$j--; //重新检查补上来的元素是否是重复的

}

$j ;

}

$i ;

}

}

//删除数组中重复元素的函数

 代码如下复制代码
function delmember(&$array, $id)

{

$size = count($array);

for($i = 0; $i

{

$array[$id $i] = $array[$id $i 1];

}

unset($array[$size - 1]);

}

//使用例子:

 代码如下复制代码
$output = array(1, 2, 2, 'www.jquerycn.cn', 5, 4, 4, 4, 2, 7, 5, 9, 10);

delsame($output);

while(list($key, $value) = each($output))

{

echo "$key:$value"."
";

}

//方法二

 代码如下复制代码

function uniquearray($array)

{

// get unique elts as keys in assoc. array

for ($i=0,$n=count($array, 1);$i

$u_array[$array[$i]] = 1;

// copy keys only into another array

reset($u_array, 1);

for ($i=0,$n=count($u_array, 1);$i

$unduplicated_array[] = key($u_array, 1);

next($u_array, 1);

}

return $unduplicated_array;

}

//方法三

 代码如下复制代码

$hills=array("first"=>"data1","second"=>"www.jquerycn.cn","third"=>"data1");

$hills=array_flip($hills); //还原键名

$hills1=array_flip(array_flip($hills));//删除重复

print_r( $hills1  );

/*

array array_flip ( array trans )

array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans 中的值成了键名。

注意 trans 中的值需要能够作为合法的键名,例如需要是 integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转。

如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。

array_flip() 如果失败返回 false。

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值