
正文
php检查数组重复数据 php找出数组中不重复的值
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php 判断数组是否有重复值
?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?
array_unique -- 移除数组中重复的值说明array array_unique ( array array )
array_unique() 接受 array 作为输入并返回没有重复值的新数组。
注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。
注: 当且仅当 (string) $elem1 === (string) $elem2 时两个单元被认为相同。就是说,当字符串的表达一样时。
第一个单元将被保留。
例子1. array_unique() 例子
复制代码 代码如下:?php
$input = array("a" = "green", "red", "b" = "green", "blue", "red");
$result = array_unique($input);
print_r($result);?上例将输出:
复制代码 代码如下:Array([a] = green[0] = red[1] = blue)例子2. array_unique() 和类型
上例将输出:
复制代码 代码如下:?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);?复制代码 代码如下:array(2) {
参考:
相关问答
Q1: php判断两个数组是否有相同的元素
$arr1=array(1,2,3,4,5,6,7,8,9,1,2,3,4,5);//设定需要判断的数组
$num1 = count($arr1);//提取该数组的数目
$arr2 = array_unique($arr1);//合并相同的元素
$num2 = count($arr2);//提取合并后数组个数
if($num1$num2)//判断下大小
{
echo "该数组含有重复元素";
}
else
{
echo "该数组不含有重复元素";
}
Q2: PHP 检查数组重复
晕,弄这么复杂干嘛。PHP本身自带了函数的array_unique
--
移除数组中重复的值
Q3: php判断数组重复,并把重复的数据相加
遍历一次就搞定了
既然你要把单号相同的加起来,就可以认为单号是唯一的,所以单号可以做key
$sourceArr = array(); // 这里就是你原始数据的数组
$newArr = array(); // 这里是相加后处理过的数组,以单号为key
foreach ($sourceArr as $v) {
if (array_key_exists($v['id'], $newArr)) {
$newArr[$v['id']]['fund'] += $v['fund'];
} else {
$newArr[$v['id']] = $v;
}
}
大概就是这么个意思,不过交易类型、账务类型你可能还要再处理下。
如果最后想得到一个下标从0开始的,非关联数组,再用array_values()函数处理下就OK了
Q4: php判断检测一个数组里有没有重复的值
?php
$array=array("1","2","2");
if (count($array) != count(array_unique($array))) {
echo '该数组有重复值';
}
else
{
echo "无";
}
?
把数组里的数字改一下就明白了
Q5: php 如何判断数组里有多个值相同
PHP 中的 array_count_values() 函数可以实现
array_count_values() 函数用于统计数组中所有值出现的次数。
本函数返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。
array_count_values(array)
例如:
?php
$a=array("Cat","Dog","Horse","Dog");
print_r(array_count_values($a));
?
输出:
Array ( [Cat] = 1 [Dog] = 2 [Horse] = 1 )







