2016-10-14 60 views
0

我正在寫作估計時間的函數。即根據時間運行特定的事件......假設我有次根據時間檢查時間和運行程序的功能。

$times = array(
    '00:00' => 'Programme 1', 
    '00:30' => 'Programme 2', 
    '01:00' => 'Programme 3', 
    '01:30' => 'Programme 4', 
    '02:00' => 'Programme 5', 
    '02:30' => 'Programme 6', 
    '03:00' => 'Programme 7', 
    '03:30' => 'Programme 8', 
    '04:00' => 'Programme 9', 
    '04:30' => 'Programme 10', 
    '05:00' => 'Programme 10', 
); 

和功能

echo (currently_should_play("00:05", $times) === 'Programme 1' ? 'Ok 1' : 'Not Ok 1') . PHP_EOL; 

陣列應該匹配,如果第一時間小於第二次它應該運行第一如果它等於比它的運行精確值,即使...

上的函數調用應與00:00和打印「OK」匹配

讓我們假設另一個examp樂

echo (currently_should_play("00:58", $time) === 'Programme 2' ? 'Ok 2' : 'Not Ok 2') . PHP_EOL; 

其應與第二個值匹配,因爲它的匹配計劃2 ...

請指點一些解決方案..

我的功能代碼在這裏,我得到鍵和值從陣列

function currently_should_play($current_time, array $times) { 
    foreach ($times as $time => $programme) { 
    echo $time; 
    echo $programme."<br/>"; 

    } 
} 

回答

0
function currently_should_play($current_time, array $times) { 
    $s=size($times); 
    while($s-->0){ 
    if($times[$s]==$current_time){ 
    return $times[$s]; 
    }elseif($times[$s-1]==$current_time){ 
    return $times[$s-1]; 
    }elseif($times[$s-1]<$current_time&&$times[$s]>$current_time){ 
    return $times[$s-1]; 
    } 
} 
return false; 
} 
+0

它說沒有定義大小的時候我改變它爲sizeof其顯示偏移誤差....做ÿ你試試你的目的? – user3032590