无论如何都要在数组值中找到重复项?如: -
POST
宝马和丰田出现两次输出将是宝马和丰田 我知道array_search(),但你必须提供你想要搜索的内容。 我可以匹配关键字的数组值,但数组的大小可以变化,如果有人帮助我,那将是很好的。
答案 0 :(得分:6)
一个选项是使用array_count_values()
并且仅包含具有多个值的数组元素。
$cars = array("Volvo", "BMW", "Toyota", "BMW", "Toyota");
foreach( array_count_values($cars) as $key => $val ) {
if ( $val > 1 ) $result[] = $key; //Push the key to the array sice the value is more than 1
}
echo "<pre>";
print_r( $result );
echo "</pre>";
这将导致:
Array
(
[0] => BMW
[1] => Toyota
)
答案 1 :(得分:0)
你可以这样做
function array_match_dump($array){
return array_unique(array_diff_assoc($array,array_unique($array)));
}
答案 2 :(得分:0)
通过组合
可以实现更简单和优雅的解决方案$cars = array("Volvo", "BMW", "Toyota", "BMW", "Toyota");
$duplicates = array_unique( array_diff_assoc( $cars, array_unique( $cars ) ) );
结果如下:
Array
(
[3] => BMW
[4] => Toyota
)