我有两个来自ORACLE的PHP字符串:
array (size=4)
0 => string '30 Jan 2014| 09:00-10:00 | Workshop' (length=61)
1 => string '30 Jan 2014| 10:00-11:00 | Workshop' (length=61)
2 => string '06 Feb 2014| 09:00-10:00 | Workshop' (length=61)
3 => string '06 Feb 2014| 10:00-11:00 | Workshop' (length=61)
..而且我正在寻找一种方法来解决这个问题:
array (size=4)
0 => string '30 Jan 2014 | 09:00-11:00 | Workshop' (length=61)
1 => string '06 Jan 2014 | 09:00-11:00 | Workshop' (length=61)
基本上将两个相同日期的记录合并为一个具有组合时间的记录...我需要在获取所有记录时执行此操作
foreach($ result as $ row){}
环.. 任何建议将不胜感激。 感谢
答案 0 :(得分:2)
基本上,您需要跟踪变量中的上一个日期,然后您可以在下一个循环迭代中进行比较。在进行比较后,您将对其进行更新,使其包含当前值。然后,下一次迭代可以进行相同的比较和变量赋值。
基本理念:
$current_date = '';
foreach($result as $row){
// get date here
$date = 'get date from your string here';
// Do your check
if ($current_date === $date) {
// do something
}
// save the date for the next iteration
$current_date = $date;
}
答案 1 :(得分:0)
您似乎应该可以在数据库查询中使用GROUPING之类的方法执行此操作。我对甲骨文不太熟悉,无法告诉你如何,但我确信这里有足够多的人。
答案 2 :(得分:0)
万一有人会看这个......:
foreach($result as $row)
{
$date = show_date($row->getField('STARTTIME'));
if($current_date === $date)
{
$EndTime = convert_time($row->getField('ENDTIME'));
}
else
{
$StartTime = convert_time($row->getField('STARTTIME'));
$EndTime = '';
}
$current_date = $date;
}
感谢约翰