Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中对数组的特定时间进行排序_Php_Arrays - Fatal编程技术网

在PHP中对数组的特定时间进行排序

在PHP中对数组的特定时间进行排序,php,arrays,Php,Arrays,我需要得到某一天的最新时间。在本例中,来自一个星期五。我有一个名为$arrayFriday的数组,它继承时间戳。 现在,我需要找出哪些时间戳是当天最新的 数组$arrayFriday: Array ( [0] => 1483691580 [1] => 1483696140 [2] => 1483701240 [3] => 1483720920 [4] => 1489142460 [5] => 1489144140

我需要得到某一天的最新时间。在本例中,来自一个星期五。我有一个名为
$arrayFriday
的数组,它继承时间戳。 现在,我需要找出哪些时间戳是当天最新的

数组
$arrayFriday

Array
(
    [0] => 1483691580
    [1] => 1483696140
    [2] => 1483701240
    [3] => 1483720920
    [4] => 1489142460
    [5] => 1489144140
    [6] => 1489150260
    [7] => 1489750920
    [8] => 1489760160
    [9] => 1489765800
    [etc.]
)
在这个数组中,有一些时间是我计算到的。 e、 g.06.01.2017 17:42是我回家的时间

输出(来自本例)应为:

Array
(
    [0] => 1483720920
    [1] => 1489150260
    [2] => 1489765800
)
或者如果我从$integerFriday(GMT+1)回显它:

因此,输出也是一个数组,但只包含当天的最新时间戳

我的尝试:

foreach ($arrayFriday as $key => $value) {
    if(date('m.d.Y', $value) == date('m.d.Y', $arrayFriday[$key-1])){
        $integerFriday= $value;
    } else {
        echo date('l d.m.Y H:i', $integerFriday);
    } 
}

使用日期作为结果数组中的键。如果时间戳数组已排序,则只需执行以下操作。当您迭代时间戳时,同一日期的后续值将覆盖该日期键处的值,并且为每个日期留下最大的时间戳

foreach ($timestamps as $ts) {
    $latest_times[date('Ymd', $ts)] = $ts;
}

必须事先对数组进行排序,才能使其正常工作。它看起来像是你的,但如果不是,那么
sort($timestamps)首先。

像这样的东西既短又甜:

rsort($arrayFriday);
$integerFriday = [$arrayFriday[0]];

foreach ($arrayFriday as $time) {
    if(date('m.d.Y', end($integerFriday)) > date('m.d.Y', $time)){
        $integerFriday[] = $time;
    }
}
当然,列表越大,所需时间就越长,因为您正在对其进行排序。如果它总是被排序,那么您可以使用
array\u reverse()
将其反转

输出:

Friday 17.03.2017 15:50
Friday 10.03.2017 12:51
Friday 06.01.2017 16:42

那么你想要什么输出呢?我写的
输出(来自这个例子)应该是:
我的尝试是基于一个整数的回音,但是插入数组也是可能的。所以你想要这样:-我只需要给定数组的项目3、6和9:-),因为它们是特定日期的最新时间。我知道,这很令人困惑。我不这么认为。3,6,9
因为它们是特定日期的最新时间。
不,显然不使用日期,因为关键是天才!谢谢-很好的解决方案。
Friday 17.03.2017 15:50
Friday 10.03.2017 12:51
Friday 06.01.2017 16:42