【问题标题】:Extract data from Multi-Dimensional Array based on datetime field PHP基于日期时间字段PHP从多维数组中提取数据
【发布时间】:2015-07-25 04:48:17
【问题描述】:

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

日期时间列采用 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 个内部数组日期时间字段来自 2015 年

最后 2 个内部数组日期时间字段来自 2014 年

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

我想显示数组中的数据,甚至可能按月分解。

例子:

click here to display data from 2015

click here to display data from January

【问题讨论】:

    标签: php arrays datetime


    【解决方案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

    【讨论】:

    • 谢谢。为了我的目的,我稍微编辑了它,但它似乎工作得很好!
    猜你喜欢
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多