5月30日 授業内容 (php(print_r,連想配列(foreach,フォーム(input,output),date(P162〜))))
web-design-exercise.hatenablog.jp
print_r
<pre> <?php $color=array('赤','黄','緑','青','紫','黒'); print_r($color); var_dump($color); ?> </pre>
<pre> <?php $sales=array( 'sun' =>10,'mon' =>20,'tue' =>30,'wed' =>40,'thu' =>50,'fri' =>60,'sat' =>70); echo '土曜日と日曜日の売上合計は,'.($sales['sat'] + $sales['sun']).'です'; ?> </pre>
<?php $color=array('赤','黄','緑','青','紫','黒'); foreach ($color as $v){ echo $v."<br>\n"; }; ?>
フォーム(試験に出る)
array_key_exists
入力内容(input.php)
出力内容(output.php)
input.php
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>英語を日本語に変換(input.php)</title> </head> <body> <form action="output.php" method="post"><!--output.phpにデータを送る--> <p>次の英語のどれかを入力してください:例(apple,banana,orange,potato,tomato)</p> <p><input type="text" name="english"></p> <p><input type="submit" value="変換"></p> </form> </body> </html>
output.php
<?php if(!isset ($_POST['english'])){//もしinput.phpで入力したenglishのデータが入っていなかったら、 header('Location:input.php');//inputのheaderに飛ばす(output.phpに直接アクセスするのを防止するため) exit;// } else{$e=array('apple' =>'りんご','banana'=>'バナナ','orange' =>'オレンジ','potato'=>'じゃがいも','tomato'=>'トマト'); $key=htmlspecialchars($_POST[english],ENT_QUOTES,'UTF-8');//input.phpから送られてきたデータを受け取る } ?> <!doctype html> <html> <head> <meta charset="UTF-8"> <title>英語を日本語に変換結果(output.php)</title> </head> <body> <?php if(array_key_exists($key,$e)){//key:調べる値。array:キーが存在するかどうかを調べたい配列。 echo '英語'.$key.'は日本語で'.$e[$key].'です。'; } else{ echo $key.'は登録されていません。'; } ?> <p><a href="input.php"><input type="button" value="戻る"></a></p><!--行き止まりを作らないために戻るボタンを用意しておく--> </body> </html>
date
<?php date_default_timezone_set('Asia/Tokyo');//ロケーション設定 $now =time();//現在時刻を調べる echo $now;//1970年1月1日の0時からの秒数を出力する(P165)
3日後の日にちを表示する(P169)
<?php date_default_timezone_set('Asia/Tokyo');//ロケーション設定 $min=60; $hours=60*$min; $day=24*$hours; $now=time(); $t=$now + 3*$day;//3日後を設定する echo '現在から3日後は'."<br>\n"; echo date('Y年m月d日',$t);// $tは現在から3日間の数秒 ?>
カウントダウン(P172)