我有以下数组,它由日期时间和事件组成。我期待从今天的日期返回下一个活动。例如:如果今天的日期是2010-11-19,则返回“足球比赛”。
实现这一结果的最佳方法是什么?
非常感谢。
Array(
[1] => Array
(
[start] => 20101113T100000Z
[event] => Fishing at the Pond
)
... etc ...
[29] => Array
(
[start] => 20101125T150000Z
[event] => Football Match
)
)
答案 0 :(得分:2)
为什么不把日期时间作为数组的密钥? Imo会更简单,因为你只有2个值。
Array(
[20101113T100000Z] => Fishing at the Pond
[20101125T150000Z] => Football Match
)
然后使用foreach,您可以使用今天的日期测试每个值,并在找到所需内容时停止。
答案 1 :(得分:0)
$date = '2010-11-19';
$next = $array[0];
foreach ($array as $item)
if (strtotime($date) < strtotime($item['start']) && strtotime($date) > strtotime($next['start'])) $next = $item;
echo $next['event'];