我有一个如下所示的数组
$array1 = Array
(
[0] => 20225,2017-02-20
[1] => 20225,2017-02-20
[2] => 10027,2017-02-20
[3] => 10027,2017-02-20
[4] => 10021,2017-02-20
[5] => 20205,2017-02-20
[6] => 50003,2017-02-20
[7] => 20225,2017-02-20
[8] => 20205,2017-02-20
[9] => 10021,2017-02-20
[10] => 50003,2017-02-20
[11] => 10027,2017-02-20
[12] => 20225,2017-02-20
[13] => 20225,2017-02-21
[14] => 20225,2017-02-21
)
Run Code Online (Sandbox Code Playgroud)
如果数组包含的相同结果超过 2 个,我想将其中一个值获取到另一个名为 的数组$array2。
请帮我做到这一点
您可以使用这个简单的函数来检查数组是否有重复项:
function array_has_dupes($array) {
return count($array) !== count(array_unique($array));
}
Run Code Online (Sandbox Code Playgroud)
这是用法:
<?php
$array = Array
(
'0' => '20225,2017-02-20',
'1' => '20225,2017-02-20',
'2' => '10027,2017-02-20',
'3' => '10027,2017-02-20',
'4' => '10021,2017-02-20',
'5' => '20205,2017-02-20',
'6' => '50003,2017-02-20',
'7' => '20225,2017-02-20',
'8' => '20205,2017-02-20',
'9' => '10021,2017-02-20',
'10' => '50003,2017-02-20',
'11' => '10027,2017-02-20',
'12' => '20225,2017-02-20',
'13' => '20225,2017-02-21',
'14' => '20225,2017-02-21'
);
$arr_unique = array_unique($array);
$check = count($array) !== count($arr_unique);
$message = 'No duplicates found.';
$arr_duplicates = [];
if($check == 1) {
$message = "Duplicates found.";
$arr_duplicates = array_diff_assoc($array, $arr_unique);
}
echo $message;
print_r($arr_duplicates);
?>
Run Code Online (Sandbox Code Playgroud)
顺便说一句,array_unique()这就是您正在寻找的。