background image

PHP 输出数组中重名的元素的几种处理方法

PHP 输出数组中重名的元素的几种处理方法,需要的朋友可以参考下
1.可以直接用 php 的内置函数

array_intersect

() 

array

 

array_intersect

 ( 

array

 

$array1

 , 

array

 

$array2

 [, 

array

 $ ... ] ) 

array_intersect

() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数

数组中的值。注意键名保留不变。

 

代码:

 

代码如下

:

 
<?php 

$array1

 = 

array

("a" => "green", "red", "blue"); 

$array2

 = 

array

("b" => "green", "yellow", "red"); 

$result

 = 

array_intersect

(

$array1

$array2

); 

?> 
 
输出结果:

 

Array( [a] => green [0] => red) 
2.也可以自己写一个算法: 
代码如下

:

 
<?php 

function

 my_array_same(

$a

){ 

$b

 = 

array_unique

(

$a

); 

$r

 = 

array_diff_key

(

$a

,

$b

); 

echo

 "<pre>"; 

$k

=var_dump(

array_unique

(

$r

)); 

return

 

$k

$a

 = 

array

("red", "green", "pink", "red", "yellow","pink", "red"); 

$r

=my_array_same(

$a

); 

var_dump(

array_unique

(

$r

)); 

?> 
 
输出结果:

 

array

(2) { 

[3]=> 
string(3) "red" 
[5]=> 
string(4) "pink"