Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查数组中的唯一值和非唯一值_Php_Arrays_Algorithm - Fatal编程技术网

Php 检查数组中的唯一值和非唯一值

Php 检查数组中的唯一值和非唯一值,php,arrays,algorithm,Php,Arrays,Algorithm,我们希望得到完整信息的结果,如Unique=Value1,Value2。重复=值1。我们有一个数组,下面是一个示例数组 $array1 = array('John Wilkins', 'Poul Warner', 'Rodger Smith', 'David Bentham', 'David Wilkins', 'Brian Smith', 'David Warner', 'John Wilkins', 'Poul Warner', 'David Wilkins', 'Brian Smith',

我们希望得到完整信息的结果,如Unique=Value1,Value2。重复=值1。我们有一个数组,下面是一个示例数组

$array1 = array('John Wilkins', 'Poul Warner', 'Rodger Smith', 'David Bentham', 'David Wilkins', 'Brian Smith', 'David Warner', 'John Wilkins', 'Poul Warner', 'David Wilkins', 'Brian Smith', 'David Warner', 'John Wilkins', 'Poul Warner', 'David Bentham', 'David Wilkins');
我们将对数值使用此函数。我们希望以这种格式打印结果

John Wilkins | Duplicate
Poul Warner  | Duplicate
Rodger Smith  | Unique
诸如此类。

这几乎就是它的作用:


()

如果您能为上述结构编写一个完整的代码,我将非常感谢您……就像我们打印的每个名称一样,重复或唯一。@罗杰,我不明白。例如,您想打印几次约翰·威尔金斯(John Wilkins)(每次打印前都有“重复”字样)?在这种情况下,请看。一个简短的问题,这样你的问题就不会被误解。但是在
unique=Value1,Value2中,Value1如何同时是唯一的和重复的呢。重复=值1
?你想单独检查一下名字和姓氏吗?还是你只是打印错了?
<?php

$array1 = array('John Wilkins', 'Poul Warner', 'Rodger Smith', 'David Bentham', 'David Wilkins', 'Brian Smith', 'David Warner','John Wilkins', 'Poul Warner', 'David Wilkins', 'Brian Smith', 'David Warner','John Wilkins', 'Poul Warner', 'David Bentham', 'David Wilkins');

$counts = array_count_values($array1);
foreach ($counts as $name => $count) {
    print $name . ' | ' . ($count > 1 ? 'Duplicate' : 'Unique') . "\n";
}
John Wilkins | Duplicate
Poul Warner | Duplicate
Rodger Smith | Unique
David Bentham | Duplicate
David Wilkins | Duplicate
Brian Smith | Duplicate
David Warner | Duplicate
$array = array('apple', 'orange', 'pear', 'banana', 'apple',
'pear', 'kiwi', 'kiwi', 'kiwi');

print_r(array_count_values($array));
will output

Array
(
   [apple] => 2
   [orange] => 1
   [pear] => 2
   etc...
)