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"
}