PHP入門編3 #04~#06

#04
<select name="age">
<?php
$i = 1;
while($i <=50){
echo "<option>".$i."才</option>";
$i++;
}
?>
<select>

これで
1才から50才まで選択できるプルダウン式のボックスが完成する

#05
for文の書き方、公式

for(初期化式;条件式;変化式){
繰り返し実行する処理

 

for($i = 1; $i <=20; $i++){
echo $i."\n";

これで




と続くループ文が作れる
演習課題難しかった


#06

<?php
for($year = 1989; $year <= 2015; $year++){
$heisei = $year - 1988;
echo "西暦".$year."年は平成".$heisei."年です。\n";

}

?>

西暦1989年は平成1年です。
西暦1990年は平成2年です。
西暦1991年は平成3年です。
西暦1992年は平成4年です。
~~
となる

PHP入門編3 #01~#03

PHP入門編3
#01
特になし

#02
$input = fgets(STDIN);
echo "標準入力値:".$input."\n";

fgets(STDIN)
は、データの読み込みをする関数

$input = trim(fgets(STDIN));
trim関数は、いらないスペースなどを除く関数。文字列の先頭及び末尾にあるもの

#03
while(ループをする時の条件式){
繰り返し実行する処理
}

具体例
<?php
$i = 1;
while($i <=10){
echo $i."\n";
$i++;
}
?>

これで、$iが10以上になるまで1ずつたしてループする
11になったらプログラムのループを止める

無限ループには気を付ける

このあたりからだんだん演習課題がスムーズに解けなくなる

PHP入門編2 #02~#06

#02 IF文条件分岐

 

<?php

// if文による条件分岐

$n = 2;

if($n == 1){

// 条件式が成り立ったときの処理

echo "好き";

}elseif($n == 2){

echo "どちらとも言えない";

}else{

// 条件が成り立たなかったときの処理

echo "嫌い";

}

 

?>

 

これで条件分岐のIF文が完成する

 

一応公式

if(条件式){

// 条件式1を満たした場合に実行される処理

}elseif(条件式2){

// 条件式1を満たさず、条件式2を満たした場合に実行される処理

}elseif{

// 条件式1、2を満たさなかった場合に実行される処理

}

 

 

この回の演習問題はちょうど良いレベルで、良い練習になった。繰り返しやる価値があると思う

 

 

#03 比較演算子

例文

<?php

// 比較演算子

// == > < >= <= !=

$hour = 11;

if($hour < 12){

    echo "午前中";

}

?>

 

$hourが12より下なら「午前中」と出す

 

この回の演習問題も良問と感じた

 

#04

<?php

// おみくじを作る

// 比較演算子 == > < >= <= !=

$omikuji = 4;

if($omikuji == 1){

 echo "大吉";

}

elseif($omikuji == 2){

 echo "中吉";    

}elseif($omikuji <= 4){

    echo "小吉";

}

?>

 

}elseif($omikuji <= 4){

    echo "小吉";

ここで、4以下ってことは1、2、3も小吉になるんじゃないの?

って思ったが、その上で1と2の処理は完成しているので、この場合は「4以下」ということになる。

 

#05

echo  "スライムに".$hit."のダメージを与えた!"; 

文章中に代入演算子を入れる時の、ドットの位置とダブルコーテーションの位置を確認する

 

#06

$year = date("Y");

date(“Y”)

 

date(ダブルコーテーション Y ダブルコーテーション)

で、その日を出力する

パイザラーニング PHP入門編1#06 ~ 2#01

#06

echo rand(1,6);

これで、

「最小1、最大6の中からランダムの数字を出力しろ」という命令になる

echo rand(最小、最大)

 

<?php

// Here your code !

$rand_rm = rand(1,60);

echo "サイコロの値は".$rand_rm."です。";

?>

 

これで数字の部分を代入にしておいて、綺麗な文章が出力される

 

 

#07

代入演算子はイコール、=

文字列はダブルコーテーションが必要だが、数字はダブルコーテーションいらない

ex)

$a = “テキスト、文字列”;

$b = 1

 

$aは文字列なのでダブルコーテーションがいるが

$bは数字なので、ダブルコーテーションがいらない

 

代入演算子は+ - * /のこと

ex)

echo 3+2;

echo 3*2;

 

 

$b = 4;

echo $b*2;

こういう風に、ダラー*2 など、計算式の途中にも代入演算子を使うことができる

 

echo (1+2) * 3;

こういうカッコつきの計算も普通にできる

 

この回の演習問題4で、値に1を足す を、+1でやっており、模範回答の++ではなかったことでつまづいた。

 

#08

// $apple リンゴの値段

// $apple_num リンゴを買う数

$apple = 350;

$apple_num = 5;

 

echo "りんごの値段: ".$apple."円";

 

これで、りんごの値段 と 円 が表示されて、その間に代入演算子 $appleをドットで囲んで表示させている

 

改行は「バックッスラッシュとn」

\n

マックの場合は「option+円マーク(¥)」でOK

 

$apple = 350;

$apple_num = 5;

 

echo "りんごの値段: ".$apple."円\n";

echo "りんごを買う数:".$apple_num. "個\n";

$total = $apple * $apple_num;

echo "合計" .$total. "円です。";

りんごの値段: 350円

りんごを買う数:5個

合計1750円です。

 

 

 

 

 

 

PHP入門編2

#01 IF文による条件分岐

 

まずは軽く公式チェック

if(条件式){条件式が成り立った時の処理}

こういう形になる

 

以下のは見やすさ的に改行してるからちょっと公式と違うけど、

これでも実行は可能である

 

ポイント:カッコの締めとか、書き忘れをしないこと

 

$n = 1;

if($n == 1){

    echo "好き";

}

 

if($n == 1)

これで$nが1だったとき という文が作れる

== はイコールであること を示す

 

この式は

「もし$nが1だった場合、好き という文字を出力する

というif文になっている。

 

そして

if ( ) { }

else

{

}

 

とすると、elseのあとに、if文が成り立たなかった場合、つまり偽だった場合の処理が作れる

ex)

 

$n = 2;

if($n == 1){

    echo "好き";

}

else

{

 echo "嫌い";   

}

 

$nが1だったら、好き

1以外だったら、嫌い

 

演習問題1で少してこづる

パイザラーニング PHP入門 #01~#05

-PHP入門編1#02

セミコロンがないと、PHPではその行が終わったことにならないから、セミコロンを忘れないこと

間違いあるある

・セミコロンがコロンになっている

・echoのあとが全角になっていたりする。半角でないとx

 

#03

//でメモ書きになる

複数行メモ書きにするときは

/*

コメント

*/

で可能

 

#04

echo で文字出力

<b>テキスト</b> で太文字になる

 

#05

$output 変数

 

<?php

// Here your code !

$output = "hello world";

echo $output

?>

 

これは、

$output = "hello world"; 右辺が左辺へ代入

echo $output $outputを書きだしている

という意味になる

 

echo $output1.$output2;

これでも両方出力される

間に ドット が入るとより短く美しい文となる

 

この回の演習問題4で若干てこづった。問題内容はミス発見・修正で、

解答はダブルコーテーションが1つ抜けてるだけのものだった。

こういった細かいミスが目立つ。気をつけなければならない。