我有一个带有unix时间戳值的数组,如下所示:
Array (
[1552345200] => 2
[1552431600] => 1
[1552518000] => 1
[1552604400] => 3
[1552690800] => 3
[1552777200] => 1
[1552863600] => 2
[1552950000] => 2
[1553036400] => 4
[1553122800] => 1
)
它包含一个日期和它重复多少次,例如,第一个重复两次。
我需要获得一个数组,其日期的重复数(unix时间戳右边的数字)仅大于1,这意味着最终数组将包含重复的日期。
我该怎么办?
答案 0 :(得分:4)
欢迎使用StackOverflow。
简单的方法如下:
$filtered = array_filter($arr, function($value, $key)
{
return $value > 1;
});
答案 1 :(得分:1)
遍历数组,然后将重复> 1的元素添加到新数组中。
$sortedArray = array();
foreach($array as $k => $v){
if($v > 1){
$sortedArray[$k] => $v;
}
}
答案 2 :(得分:0)
foreach($array as $timestamp => $repeats) {
if ($repeats <= 1) {
unset($array[$timestamp]);
// delete false entries from array
}
// or you could
if ($repeats > 1) {
$result[$timestamp] = $repeats;
//take right entries and put them in a new
}
}
有很多方法可以做到这一点。