如果我们是一维数据去重复项就不要说了有直接的函数了,但二维数据php未提供函数了,下面小编来给大家推荐两个不错的二维数组去重复项自定义函数吧。
例1
| 代码如下 | 复制代码 |
|
// 判断是否保留二级数组键 (所有二级数组键必须相同) //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 //去掉重复的字符串,也就是重复的一维数组 //再将拆开的数组重新组装 return $output; $array2D = array( echo " ";<br>
print_r(unique_array_2d($array2D,true));
<p>/**<br>
* 将二维数组通过指定的 key 去重<br>
*<br>
* @param array $arr 要去重的数组<br>
* @param array $by 指定key去重,该参数不指定将返回 array()<br>
* @return array<br>
*/<br>
function array_multunique($arr,$by = array()) {<br>
$temp = array();<br>
foreach($arr as $key => $val) {<br>
foreach($by as $v) {<br>
$temp[$key] .= isset($val[$v]) ? $val[$v] : '';<br>
}<br>
}<br>
return array_intersect_key($arr,array_unique($temp));<br>
}<br>
/*$aa = array ( <br>
array ('id' => 123, 'name' => '张三' ), <br>
array ('id' => 123, 'name' => '李四' ), <br>
array ('id' => 124, 'name' => '王五' ), <br>
array ('id' => 125, 'name' => '赵六' ), <br>
array ('id' => 126, 'name' => '赵六' ) <br>
); <br>
$key = 'id'; <br>
array_multunique ($aa, array('id')); */</p>
<p>function array_remove_key($array,$keys){<br>
if (!is_array($array) || !is_array($keys)){<br>
return false;<br>
}<br>
foreach($array as $t){<br>
foreach($keys as $k){<br>
unset($t[$k]);<br>
}<br>
$doc[]=$t;<br>
}<br>
return $doc;</p>
<p>}<br>
/*$array = array(<br>
'0' => array('a' => 'aaaaa', 'b' => 'bbbbb', 'c' => array('d' => 'ddddd', 'e' => 'eeeee')),<br>
'1' => array('a' => 'aaaaa', 'b' => 'bbbbb', 'c' => array('d' => 'ddddd', 'e' => 'eeeee'))<br>
);<br>
print_r( array_remove_key($array,array('c')));*/</p>
<p>function array_remove_key_val(&$a,$b,$c){<br>
foreach ($a as $key=>$value){<br>
if ( isset($value[$b]) && ($value[$b]==$c) ){<br>
unset($a[$key]);<br>
}<br>
}<br>
}<br>
/*$a=array(<br>
array('id'=>1,'num'=>10,'type'=>'news'),<br>
array('id'=>2,'num'=>100,'type'=>'pic')<br>
);<br>
print_r( array_remove_key_val($a,"id","1") );*/</p>
登录后复制 |
|
例2
| 代码如下 | 复制代码 |
|
/二维数组去掉重复值
|
|
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号