PHP數組有很多常見的應用場景,其中之一是用來生成日歷。
生成日歷的第一步是確定要生成的月份,通常我們會用一個select下拉菜單來讓用戶選擇。然后我們可以用PHP來處理用戶提交的請求,生成一個對應月份的日歷。
//獲取用戶選擇的月份 $month = $_POST['month']; //獲取這個月份的天數 $days = cal_days_in_month(CAL_GREGORIAN, $month, date('Y')); //獲取這個月份的第一天是星期幾 $firstDay = date('w', strtotime(date('Y') . '-' . $month . '-01')); //生成一個表格來呈現日歷 echo '<table>'; echo '<tr><th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr>'; //用循環生成表格中的每一行和每一格 $dayCount = 1; for($i = 0; $i < 6; $i++){ echo '<tr>'; for($j = 0; $j < 7; $j++){ if($i == 0 && $j< $firstDay){ echo '<td></td>'; } else if($dayCount > $days){ echo '<td></td>'; } else{ echo '<td>' . $dayCount . '</td>'; $dayCount++; } } echo '</tr>'; } echo '</table>';
上面的代碼先獲取了用戶選擇的月份,以及這個月份的天數和第一天是星期幾。然后用循環生成日歷表格中的每一個行和每一個格,根據當天是不是這個月的一天來填充相應的數字或空格。
除了生成一個簡單的日歷之外,我們還可以加入一些交互性。比如,當用戶點擊一天的格子之后,我們可以在下面顯示這一天的具體信息,或者彈出一個日期選擇器,讓用戶可以選定具體的時間。
這些交互性的特點都需要依靠JavaScript來實現。我們可以用jQuery來幫助我們寫這段代碼,比如:
//當用戶點擊日歷中的某一天時 $('table td').click(function(){ //獲取當天的數字 var day = $(this).text(); //在下面顯示具體信息 $('#info').text(day + ' is a great day!'); });
上面的代碼使用了jQuery的click事件,并獲取了當點擊這個td格子時對應的數字。然后將數字加上一段字符串作為信息,顯示在id為info的元素中。
總之,利用PHP數組和JavaScript可以很方便地生成一個交互性強的日歷,可以用于各種場景,比如安排會議、預定時間、查看節假日等。
下一篇php 數據 采集