PHP:具有多个搜索值的Array_keys()?

时间:2019-02-22 11:19:42

标签: php arrays

我有一个带有unix时间戳值的数组,如下所示:

Array ( 
[1552345200] => 2 
[1552431600] => 1 
[1552518000] => 1 
[1552604400] => 3 
[1552690800] => 3 
[1552777200] => 1 
[1552863600] => 2 
[1552950000] => 2 
[1553036400] => 4 
[1553122800] => 1 
)

它包含一个日期和它重复多少次,例如,第一个重复两次。

我需要获得一个数组,其日期的重复数(unix时间戳右边的数字)仅大于1,这意味着最终数组将包含重复的日期。

我该怎么办?

3 个答案:

答案 0 :(得分:4)

欢迎使用StackOverflow。

简单的方法如下:

$filtered = array_filter($arr, function($value, $key) { return $value > 1; });

更多内容:http://php.net/manual/en/function.array-filter.php

答案 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
    }
 }

有很多方法可以做到这一点。