判断数组是否为空_PHP判断数组是否有重复值、获取重复值

一、判断是否有重复值

if (count($arr) != count(array_unique($arr))) { echo '该数组有重复值';}
de64f54647790521fd508db84c170d6c.png

二、获取重复的值(一维数组的值完全相等是重复;如果是二维数组,二维数组中的值必须完全相同才是重复)

function getRepeat($arr) { // 获取去掉重复数据的数组  $unique_arr = array_unique ( $arr );  // 获取重复数据的数组  $repeat_arr = array_diff_assoc ( $arr, $unique_arr );  return $repeat_arr;}

三、二维数组局部键对应值数据判断是否重复

/*作用:根据二维数组中的部分键值判断二维数组中是否有重复值参数:$arr —— 目标数组$keys —— 要进行判断的键值组合的数组返回:重复的值扩展:判断的键值*/function getRepeat($arr,$keys) {$unique_arr = array();$repeat_arr = array();foreach ($arr as $k => $v) {$str = "";foreach ($keys as $a => $b) {$str .= "{$v[$b]},";}if( !in_array($str, $unique_arr) ){$unique_arr[] = $str;} else {$repeat_arr[] = $v;}}return $repeat_arr;}

举个例子:

$arr1 = array("aaa","bbb","ccc","ddd","aaa","bbb");$arr2 = array("aaa","bbb","ccc","ddd","aaa");$arr3 = array("aaa","bbb","lll","ddd","aaa","bbb");$arr = array($arr1,$arr2,$arr3); $keys = array(0,1,2);var_dump(getRepeat($arr,$keys)); 输出: D:officewamp64wwwest.php:46:array (size=1) 0 =>  array (size=5) 0 => string 'aaa' (length=3) 1 => string 'bbb' (length=3) 2 => string 'ccc' (length=3) 3 => string 'ddd' (length=3) 4 => string 'aaa' (length=3)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持php自学中心

感谢阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值