基于日期时间字段PHP从多维数组中提取数据

时间:2015-07-25 04:48:18

标签: php arrays datetime

我有一个多维数组,需要根据日期时间字段是否在特定日期范围之间从中提取数据。

datetime列位于unix时间戳中。

我已经知道如何根据日期对数组进行排序,但现在我想只返回数组的部分,如果datetime字段来自某个月或某一年。

需要保留密钥。

数组示例:

<?
$videoids = array(

    'iD-7H6Rv-SM' => array
    (
    'datetime' => '1421693217',
    'title' => 'title',
    'description' => 'description',
    'channel' => 'info',
    'url' => 'url'
    ),

    'X9tzt0MEIRI' => array
    (
    'datetime' => '1422784090',
    'title' => 'title',
    'description' => 'description',
    'channel' => 'info',
    'url' => 'url'
    ),

    'TaFgrY9HsUA' => array
    (
    'datetime' => '1418712579',
    'title' => 'title',
    'description' => 'description',
    'channel' => 'info',
    'url' => 'url'
    ),

    'i9PGMYb7Aoc' => array
    (
    'datetime' => '1404178390',
    'title' => 'title',
    'description' => 'description',
    'channel' => 'info',
    'url' => 'url'
    ),

);?>

前2个内部数组的datetime字段来自2015年

最后2个内部数组的datetime字段来自2014年

如何仅提取包含2014年时间戳的内部数组?

我希望从年份开始显示数组中的数据,甚至可能按月分解。

示例:

click here to display data from 2015

click here to display data from January

1 个答案:

答案 0 :(得分:1)

前一年:

$search_year = 2015; // $_REQUEST['year']
foreach ($videoids AS $video) {
    if(@date('Y', $video['datetime']) == $search_year) {
        echo '<pre>' . print_r($video, true) .  '</pre>';
    }
}

http://php.net/manual/en/function.date.php