実現したいこと
まず曜日表示のために日付のフォーマットにはnやjのような文字がありまして、
曜日だと、添付画像のように3種類あります。
英語ではなく日本語で表示させたいので、
wのものを使用してみます。
datetimeimmutable format 曜日で検索しました
https://qiita.com/aminevsky/items/a222845ddbdd2536da56#:~:text=%E6%9B%B8%E5%BC%8F%E6%8C%87%E5%AE%9A%[…]%E4%BE%BF%E5%88%A9%E3%81%A7%E3%81%99%E3%80%82
曜日の配列を準備し、
$dayOfWeekで出力された数字と合致した曜日が表示されました。(以下の通りのPHPになります。)
日付だけではなく、曜日も含む
<?php $days = $cfs->get('date_time'); if($days) :// エラーが出てしまうので、$daysが存在する時だけ表示させるようにします foreach ($days as $day) : // もし $days が存在する場合、ループを実行します // 新しい DateTimeImmutable オブジェクトを作成し、日付をフォーマットします $dateTime = new DateTimeImmutable($day['date']); $dayFormat = $dateTime->format('n/j'); // 曜日の配列を定義し、日付から曜日を取得します $weekdays = ["日", "月", "火", "水", "木", "金", "土"]; // echo $dateTime->format('w'); // 4 などの数字が表示される。 $weekday = $weekdays[$dateTime->format('w')]; // 4の場合配列の4番目(配列は0から数え始めます)の「木」が表示される // $weekdays[4]とすると、4番目のものが配列$weekdaysから取り出されるイメージです ?> <!-- 日付(曜日)の形式で表示するための <p> タグを出力します --> <p><?php echo $dayFormat . "(" . $weekday . ")"; ?></p> <?php endforeach; endif; ?>
次に、本題ですが、カンマを追加する方法です。
「foreach カンマ」
で検索すると、こちらの記事がありました。
https://on-ze.com/archives/1914
foreach文に下記を追加するとカンマが追加できると思うのですが、上記の日付や曜日と連結するにはどう記述するべきが
不明ですのでご教示いただけますでしょうか。
該当のソースコード
// カンマをつける foreach ($days as $day) : $comma = ""; if(next($days)){ $comma = ","; // 最後の要素ではないとき } endforeach;
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/02/09 08:05