要实现将数组中有相同值的元素组成新的数组实例,可以使用PHP的array_unique()和array_count_values()两个函数,它们的调用过程如下:
// 定义数组
$nums = array(1, 2, 3, 2, 4, 4, 3, 5);
// 去重
$unique_nums = array_unique($nums);
// 统计元素出现的次数
$count = array_count_values($nums);
以上代码中,$nums为待检验的数组,array_unique()函数用来去除数组中的重复值,返回一个只包含不重复元素的新数组$unique_nums。array_count_values()函数则用来统计数组中各个元素出现的次数,返回一个关联数组$count,其中键名为元素值,键值为元素出现的次数。
接下来可以使用一个foreach循环遍历关联数组$count,将其元素(出现次数大于1的)的键名存入一个新数组$output中,从而得到一个含有相同元素值的新数组。
以下是两个示例说明:
- 示例一:查找有两个及以上的元素重复
// 定义数组
$nums = array(1, 2, 3, 2, 4, 4, 3, 5);
// 去重
$unique_nums = array_unique($nums);
// 统计元素出现的次数
$count = array_count_values($nums);
// 定义结果数组
$output = array();
// 遍历$count数组,将出现次数大于1的元素的键名存入$output数组中
foreach ($count as $key => $value) {
if ($value > 1) {
array_push($output, $key);
}
}
// 输出结果
print_r($output);
以上代码中,遍历关联数组$count,将计数值大于1的元素($value > 1)的键名($key)存入$output数组中,最终输出$output数组的内容:
Array
(
[0] => 2
[1] => 3
[2] => 4
)
- 示例二:查找有三个及以上的元素重复
// 定义数组
$nums = array(1, 2, 3, 2, 4, 4, 3, 3, 5);
// 去重
$unique_nums = array_unique($nums);
// 统计元素出现的次数
$count = array_count_values($nums);
// 定义结果数组
$output = array();
// 遍历$count数组,将出现次数大于等于3的元素的键名存入$output数组中
foreach ($count as $key => $value) {
if ($value >= 3) {
array_push($output, $key);
}
}
// 输出结果
print_r($output);
以上代码中,遍历关联数组$count,将计数值大于等于3的元素($value >= 3)的键名($key)存入$output数组中,最终输出$output数组的内容:
Array
(
[0] => 2
[1] => 3
[2] => 4
)
这就是使用PHP实现将数组中有相同值的元素组成新的数组实例的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP让数组中有相同值的组成新的数组实例 - Python技术站