检查php中数组是否包含多个相同的值

ten*_*ten 1 php arrays

我有一个如下所示的数组

$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

请帮我做到这一点

Mil*_*eda 6

您可以使用这个简单的函数来检查数组是否有重复项:

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()这就是您正在寻找的。