phpで今年のカレンダー作成をしています。
月末日の取得等書き込んでいきましたが、bodyで出そうとすると"Notice: Undefined offset:"と出てしまいます。
bodyの数字を変更したり、-1を試してみたりとしてみましたがそれでもうまくいきません。
どこかのコードが間違っていて$tableがうまく作動できていないのでしょうか。ご教示お願いします。
php
1 2$table = array(); 3for($i = 1; $i <= 12; $i++){ 4 if(($i + 1) == 2){ 5 $lastday = 29; 6 } 7 elseif((($i + 1) == 4) || (($i + 1) == 6) || (($i + 1) == 9) || (($i + 1) == 11)){ 8 $lastday = 30; 9 } 10 else{ 11 $lastday = 31; 12 } 13} 14 15$date = mktime(0,0,0,$i,1,2016); 16$day = date('w',$date); 17 18$table[$i] = '<tr>'; 19$cnt = 0; 20for($d = 1; $d <=($day-1); $d++){ 21 $table[$i].= '<td></td>'; 22 $cnt++; 23} 24 25if($day ==0){ 26 for($d = 1; $d <= 6; $d++){ 27 $table[$i].= '<td></td>'; 28 $cnt++; 29 } 30} 31 32for($c = 1; $c <= $lastday - 1; $c++){ 33 if($cnt == 0){ 34 $table[$i].= '<tr>'; 35 } 36 $table[$i].='<td>'. $c .'</td>'; 37 $cnt++; 38 if($cnt == 7){ 39 $table[$i].= '</tr>'; 40 $cnt = 0; 41 } 42} 43 44while($cnt <= 7){ 45 $table[$i].='<td></td>'; 46 $cnt++; 47} 48 49$table[$i].= '</tr>'; 50 51
html
1 2<table> 3<tr><th>1月</th></tr> 4 <tr> 5 <th>月</th> 6 <th>火</th> 7 <th>水</th> 8 <th>木</th> 9 <th>金</th> 10 <th>土</th> 11 <th>日</th> 12</tr> 13<?php echo $table[1]; ?> 14</table> 15 16
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/18 14:26
退会済みユーザー
2016/05/18 14:32
2016/05/18 15:22
退会済みユーザー
2016/05/18 20:54