まとめ演習(2)
PHPで変数
- 代入:=の右の値を、=の左側に入れる
- 先頭に $ を付ける
- 使用できる文字は、アルファベットと半角数字、そしてアンダースコア
- 大文字・小文字を区別する
- 値を変数に代入すれば適当なデータ型を設定してくれます
関数
- 指定された値に対して決められた処理を行い、結果を出力する
- 関数が出力するデータは「返り値」、もしくは「戻り値」と呼びます
- 関数名の後ろにある ()中に入れたデータを処理し、その結果を返します
- ()内に入れたデータのことを引数(ひきすう)と呼びます
- 引数を必要としない関数にも()を付ける必要があります
PHPで日時を扱う
PHPで変数の演算
- 変数a:1000円の商品は、
- 変数b:80円値上がりしたら1080円になります。
- 変数a と変数b の足し算をした結果を表示しなさい
サイコロの目を数字で表示
- rand()関数を使って結果を表示させなさい
解答例
数値で始まる文字列の場合
for文のネスト
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>九九表</title> <style> table { border-collapse: collapse; } th, td { width: 50px; text-align: center; } th { background: #CCC; } </style> </head> <body> <h1>九九表</h1> <table border="1"> <tr> <th> </th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th> </tr> <?php for ($i = 1; $i <= 9; $i++) { print ('<tr>'); print ('<th>' .$i. '</th>'); for ($j = 1; $j <= 9; $j++){ print ('<td>' .$i*$j. '</td>'); } print ('</tr>' . "\n"); } ?> </table> </body> </html>
今月のカレンダー
<?php //現在の「年月」を取得 $now_year = date("Y"); $now_month = date("n"); //1日(月初)のタイムスタンプから「曜日」を取得 $first_day = mktime( 0, 0, 0, $now_month, 1, $now_year ); $first_weekday = date( "w", $first_day ); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>カレンダー</title> <style> h3 { margin: 0 0 10px 0; } table { border-collapse: collapse; margin: 0; padding: 0; } th,td { width: 50px; padding: 8px; text-align: center; } th.sun { color: red; } th.sat { color: blue; } </style> </head> <body> <h3><?=$now_year?>年<?=$now_month?>月</h3> <table border="1"> <tr> <th class="sun">日</th> <th>月</th> <th>火</th> <th>水</th> <th>木</th> <th>金</th> <th class="sat">土</th> </tr> <?php print "<tr>"; // 最初の<tr> $weekday = 0; //曜日のカウンタ //1日の曜日まで空欄必要 while( $weekday != $first_weekday ){ print ('<td> </td>'); $weekday++; } for( $day = 1; checkdate( $now_month, $day, $now_year ); $day++ ){ //土曜まで書いたなら日曜に戻して //行を変える if( $weekday > 6 ){ $weekday = 0; print ('</tr>' . "\n"); print ('<tr>'); } //文字の色を決める switch( $weekday ){ case 0 : //日曜 $color = 'red'; break; case 6 : //土曜 $color = 'blue'; break; default : //月曜〜金曜 $color = 'black'; } //1マス表示 print ('<td><font color=' .$color. ">" .$day. '</td>'); //曜日を進める $weekday++; } //最後の空欄作成 while( $weekday < 7 ){ print ('<td> </td>'); $weekday++; } print ('</tr>' . "\n"); // 最後の</tr> ?> </table> </body> </html>