【发布时间】:2013-10-22 00:49:59
【问题描述】:
$array_of_time = array ();
$start_time = strtotime ("$app_date 07:00");
$end_time = strtotime ("$app_date 22:00");
$mins = 04 * 60;
while ($start_time <= $end_time)
{
$array_of_time[] = date ('h:i a', $start_time);
$start_time += $mins;
}
echo "<div style='width:700px' class='time_slot_div'>";
echo "<p class='time_slot_p'> Time Slot :</p>";
foreach($array_of_time as $key=>$value)
{
for($i = 0; $i < count($app_data); $i++)
{
$book_time=$app_data[$i]["appointment_time"];
if($value==$book_time)
{
echo "<a class='time_slot_a_book'>$value</a> ";
} else {
echo "<a href='#' onclick='get_time_value(\"$value\");' class='time_slot_a'>$value</a> ";
}
}
}
echo "</div>";
这里的 foreach 循环可以和 for 循环一样多次运行,但我想显示与 foreach 值和 for 循环值不匹配的链接。
foreach 循环值(如上午 7:20)不是来自数据库,但 for 循环值(如上午 7:20)来自数据库,因此如果上午 7:20==7:20 则它运行的 if 语句工作正常,但问题是如果我在 for 循环中得到 2 个值,它会运行 2 次。它应该只运行我的 div 一次。
【问题讨论】:
-
你试过在 if 中使用 break 语句吗?
-
说实话,我不太明白这个问题。
-
#vaibhavmande 我应该在哪里使用 break 语句?
-
#Amal 我只想得到这两个循环的一个结果。这里的 foreach 循环显示了今天上午 07:00 到晚上 10:00 的所有时间段。每 4 分钟间隔,for 循环的值介于这两次之间假设 for 循环的时间为上午 7:28,那么上午 7:28 的 foreach 循环值的结果将没有锚标记。
-
我认为你应该开始使用一些逗号。
标签: php for-loop foreach mysqli