[英]Php inside foreach loop if $i == 1 echo “ok”, else echo “ok” JUST one time and continue
自從我上次在這里提問以來已經有一段時間了(5年)。
我需要幫助,我正在開發活動日歷,因此陷入困境。 到目前為止,我想擁有事件標頭和事件主體,但是如果每天有多個事件,我只想要一個標頭。 因此,今天我在21點共進晚餐,我的活動應該在11月23日星期五和21點共進晚餐。 太好了,我可以這樣做,但是如果我在晚餐前19點開會,該怎么辦? 我只想要一次相同的標頭... 11月23日,星期五,但有兩個屍體...
謝謝!
我的一段代碼
foreach($eventos[$data_do_dia] as $evento) {
$i = count($eventos[$data_do_dia]);
if($i == 1) {
$agenda .= " dia ".date("d-m-Y",strtotime($evento['dia']))."</b>";
add the event
} else {
repeat the same but just one time
$agenda .= " dia ".date("d-m-Y",strtotime($evento['dia']))."</b>";
add event one
add event two
...
}
}
我已經更改了循環,因此沒有重復的代碼,這基本上意味着,如果只有一個事件,則它將轉換為數組,並假設isset($evento[0])
將不會出現。子數組,它將一個條目包裝到新數組中。
然后,它遍歷數組並創建帶有日期/時間/詳細信息的字符串。 您可能會想要更改格式,但是原理是相同的...
$agenda = "";
foreach($eventos as $evento) {
if ( !isset($evento[0]) ) {
$evento = [$evento];
}
$agenda .= " dia ".date("d-m-Y",strtotime($evento[0]['dia'])).PHP_EOL;
foreach ( $evento as $time ) {
$agenda .= " time ".$time['hora']." ".
$time['titulo']." ".$time['evento'].PHP_EOL;
}
}
echo $agenda;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.