0

我有一个时间范围的数组,时间范围有特定的视频,我要显示与当前时间匹配的视频

我创建了一个如下所示的变量,并分配给数组,请任何人帮助我从数组中过滤当前时间的视频

ex-如果服务器时间是 2012-06-08 14:45:10 这我需要显示视频 2

$d1 = "2012-06-08 14:26:39";
$video1='http://video-js.zencoder.com/oceans-clip.mp4';
$d2 = "2012-06-08 14:39:39";
$video2='http://video-js.zencoder.com/oceans-clip.mp4';
$d3 = "2012-06-08 14:56:10";

$cc=array(
1=>array($d,$d2,$video1),
2=>array($d2,$d3,$video2)
);

//get current time
$ctime=date('Y-m-d H:i:s',time());
//need to check matched array element for current time within above array date ranges
//Ex - if the server time is  2012-06-08 14:45:10 this need show video 2
4

2 回答 2

1

你可以试试这个

$showvideo = "";
for ($i = 1; $i <= sizeof($cc); $i++) {
    $video = $cc[$i];
    if ($ctime >= $video[0] && $ctime <= $video[1]) {
        $showvideo = $video[2];
        break;
    }
}

if ($showvideo == "") {
    // Error
}

基本上 PHP 允许您比较日期,因此只需通过数组并比较每个日期以查看您拥有的日期是否介于两者之间。

于 2012-06-08T19:14:47.573 回答
1

您需要为每个视频分配一个时间范围,然后您可以根据输入的时间查找正确的视频

例如

$ctime=date('Y-m-d H:i:s',time());

$video1=array("http://video-js.zencoder.com/oceans-clip.mp4","2012-06-08 14:26:39","2012-06-08 14:39:39")

if ($ctime >= $video1[2]) && ($ctime <= $video1[3]) { echo $video1[1]; }

我相信这应该可以解决您的问题

于 2012-06-08T19:18:34.940 回答