在白天获取数组的一个特定部分

问题描述:

我有一个Youtube视频数组,并且我想要一个特定的白天。在白天获取数组的一个特定部分

Array 
(

[10] => Array 
    (
     [video_id] => 2 
     [show_date] => 2014-11-01 
     [show_time] => 14:40:00 
     [video_duration] => 5470 
     [video_youtube_id] => MTLObnglz_U 
     [video_title] => Out Of Bounds (OV) 
     [source] => channel: netzkino 
    ) 

[11] => Array 
    (
     [video_id] => 155 
     [show_date] => 2014-11-01 
     [show_time] => 21:10:00 
     [video_duration] => 9392 
     [video_youtube_id] => OO-e8_-bMv8 
     [video_title] => Foo Fighters Live at Lollapalooza Brazil 2012 Full Concert HD 720p 
     [source] => 
    ) 

[14] => Array 
    (
     [video_id] => 3 
     [show_date] => 2014-11-01 
     [show_time] => 23:59:00 
     [video_duration] => 5520 
     [video_youtube_id] => cf7Eu9WJ_ek 
     [video_title] => City of Sex (Komödie mit Nicole Kidman) 
     [source] => 
    ) 

所以当它与 “2014年11月1日21时10分00秒” 和(+ VIDEO_DURATION) “2014年11月1日23点46分31秒” 我想要得到的“Foo Fighters”:

[11] => Array 
    (
     [video_id] => 155 
     [show_date] => 2014-11-01 
     [show_time] => 21:10:00 
     [video_duration] => 9392 
     [video_youtube_id] => OO-e8_-bMv8 
     [video_title] => Foo Fighters Live at Lollapalooza Brazil 2012 Full Concert HD 720p 
     [source] => 
    ) 
+0

您是否尝试通过循环检查日期?显示你做了什么... http://*.com/help/how-to-ask – rjdown 2014-11-01 22:18:31

+0

嗨,谢谢你的快速回答,但我真的是一个初学者(noob)...我没有想法我怎么能得到正确的结果...我如何循环这个数组来获得我的结果? 谢谢您花时间帮助我。 – 2014-11-01 22:44:25

最简单的方法是在数组上使用foreach()并检查每条记录。这样的事情:

$array = array(...); // Your array 
$newArray = array(); 
$currentTime = time(); 

foreach ($array as $key => $value) { 

    $fromTime = strtotime($value['show_date'] . ' ' . $value['show_time']); 
    $toTime = $fromTime + $value['video_duration']; 

    if ($fromTime <= $currentTime && $toTime >= $currentTime) { 
     $newArray[] = $value; 
    } 
} 
+0

嗨,谢谢你的伟大答案,它的作品完美.. :) 最后一个(愚蠢)的问题......是否有可能获得下一个视频(城市S **)吗?再次感谢你:) – 2014-11-02 07:46:20

+0

你可以在很多方面做到。在$ newArray [] = $ value后尝试;这个代码:$ next = next($ array); – MariuszT 2014-11-02 09:10:32