php foreach下个月约会

时间:2014-12-02 20:21:35

标签: php date foreach

我需要的是下个月的日子,新线上每个新的一天。 其实我想看下一个:

date     | username1 | username2
_________|___________|__________
         |           |
Mon - 01 | user5     | user2
         |           |
Tue - 02 | user3     | user2

....
and so on

稍后我将收集这些日期和用户名并更新sql表(相同类型,例如此处的示例)。

我有这段代码:

$workdays = array();
$type = CAL_GREGORIAN;
$month = date('n'); // Month ID, 1 through to 12.
$year = date('Y'); // Year in 4 digit 2009 format.
$day_count = cal_days_in_month($type, $month, $year); // Get the amount of days
//loop through all days
for ($i = 1; $i <= $day_count; $i++) {
$date = $year.'-'.$month.'-'.$i; //format date
$workdays[] = $i;

和foreach echo我得到第1,2,3 ......等等,所有人都在新线上。但是,如果我把它放在foreach中:

<?php foreach($workdays as $value['date']): ?>
<tr>
<td><?php if ($value['date'] != 'dd'){
    setlocale(LC_TIME, 'fi_FI.UTF-8');
    echo ucfirst(strftime("%a - %d", strtotime($value['date'])));
    } else {
    echo 'wrong';
    }?></td>
<td>&nbsp;</td>
</tr>
<?php endforeach ?>

我开始每一个新行Mon - 01。

出了什么问题(之后,我在php上新手)?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情。

<?php

$day_count = date('t',strtotime('+1 month'));
$month = date('m');
$year = date('Y');

if ($month == 12) { $month = 1; $year++; }

for($i = 1; $i<=$day_count; $i++) {
  echo '<tr>';
  echo '<td>'.date('D',strtotime("$month/$i/$year")).' '.$i."</td>";
  echo '<td>&nbsp;</td>';
  echo '</tr>';
}