我有一个数组:
array:3 [▼
0 => 1
1 => 1
2 => 2
]
我想计算数组中的数字等于多少次,如果相等数的计数为2 2将值推到另一个数组中。
so:
在这种情况下1等于2次,所以我想将1推入数组。
我该如何实现?
希望这对您有帮助,在这里我们使用array_count_values
函数来计算数组的值。
尝试此代码段
<?php
ini_set('display_errors', 1);
$array=array(
1,
1,
2
);
$result=array();
foreach(array_count_values($array) as $key => $value)
{
if($value==2)//checking whether the count of number is equal to 2
{
$result[]=$key;//pushing value in array
}
}
print_r($result);
我认为您可以尝试以下操作:
$tempArr = $secondArr = array();
foreach($firstArr as $value) {
if(in_array($value,$tempArr)) {
$secondArr[] = $value;
}
$tempArr[] = $value;
}
在这里你去!
function getMyArray($input_arr, $threshold){
$final_arr = [];
$arr_counts = array_count_values($input_arr);
foreach( $arr_counts as $key => $value ){
if ( $value == $threshold ){
$final_arr[] = $key;
}
}
return $final_arr;
}
传递输入阵列和截止标记!
- 此处是最简单的解决方案。
$new_array = array();
$exist_array = array(1,1,2);
foreach(array_count_values($exist_array) as $k=>$v){
if($v == 2)
$new_array[] = $k;
}
print_r($new_array);