PHP数组去重

php一维数组去重
常用的方法有两种array_unqiue()和array_flip()
1.array_unique() 接受 array 作为输入并返回没有重复值的新数组。第一个单元将被保留。
2.array_flip()是反转数组键和值的函数,他有个特性就是如果数组中有二个值是一样的,那么反转后会保留最后一个键和值.利用这个特性我们用他来间接的实现数组的去重。
具体实现方法:

<?php
	//array_unique()方法
	$testArray=[
		'test'=>'1',
		'test1'=>1,
		'test2'=>'testname',
		'test3'=>'a',
		'test4'=>'a',
		'test'=>'b'
	];
	echo "原数组打印:";
	print_r($testArray);
	echo "<br>";
	$testArray1=array_unique($testArray);
	echo "array_unique处理后:";
	print_r($testArray1);
	echo "<br>";
	//array_flip()方法
	$testArray2=array_flip($testArray);
	echo "array_flip处理后:";
	print_r($testArray2);
	echo "<br>";
	$testArray3=array_flip($testArray2);
	echo "再次array_flip处理后";
	print_r($testArray3);

实现效果
原数组打印:Array ( [test] => b [test1] => 1 [test2] => testname [test3] => a [test4] => a )
array_unique处理后:Array ( [test] => b [test1] => 1 [test2] => testname [test3] => a )
array_flip处理后:Array ( [b] => test [1] => test1 [testname] => test2 [a] => test4 )
再次array_flip处理后Array ( [test] => b [test1] => 1 [test2] => testname [test4] => a )
查看源码
原数组打印:Array
(
[test] => b
[test1] => 1
[test2] => testname
[test3] => a
[test4] => a
)

array_unique处理后:Array
(
[test] => b
[test1] => 1
[test2] => testname
[test3] => a
)

array_flip处理后:Array
(
[b] => test
[1] => test1
[testname] => test2
[a] => test4
)

再次array_flip处理后Array
(
[test] => b
[test1] => 1
[test2] => testname
[test4] => a
)
总结:
通过上边的比较可以看出用array_flip得到的是重复元素最后的键和值,用array_unique得到的是两个重复元素第一个键和值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值