プログラミングのお勉強:016日目
やったこと:PHP無料レッスン復習後半
繰り返しの処理(ループ処理)
for文
for($i = 1;$i <= 100;$i++){
echo $i;
}
$i=1 初期値 これから始まる
$i<=100 どこまで繰り返すか
$i++ 1週ごとの変化の割合
while文
$i = 1;
while($i <= 100){
echo $i;
$i++; ←これがないと無限ループになる
}
break文
現在のループを強制的に中断する命令
for, while, foreachなどの繰り返し文の中で利用
if文などの条件文と組み合わせて利用するのが一般的
for($i = 1; $i <= 10;$i++{
if($i > 5){
break;
}
echo $i;
}
1から始まって、10までループ、1ずつ増える
ただし5を超えたら終了(break)
continue文
現在の周だけをスキップし、ループそのものは継続
for($i = 1; $i <= 10;$i++{
if($i % 3 == 0){
continue;
}
echo $i;
}
1から始まって、10までループ、1ずつ増える
ただし3の倍数になったらその周回は飛ばして次に(continue)
foreach文
配列・連想配列に対して、先頭のデータから順に繰り返し処理を行う
「as」の後ろの変数に、ループの度にデータが先頭から順に代入
foreach(配列 as キー変数 => 値変数){
繰り返したい処理;
}
$data = array('東京','大阪','京都');
foreach($data as $value){
echo $value;
}
//結果:東京 大阪 京都
<?php
$scores = array('数学' => 70, '英語' => 90, '国語' => 80);
foreach($scores as $key => $value){
echo $key.'は'.$value.'点です。';
}
?>
//結果:数学は70点です。英語は90点です。国語は80点です。
関数
あるまとまった処理を行い、値を返すもの
()の中に与える値を「引数」という
組み込み関数
strlen 文字列の文字数を反す ストリングレングス
echo strlen('xxxxxxxx')
//結果:8
count 配列の要素の数を返す
$data = array('東京','大阪','京都');
echo count($data);
//結果:3
rand 1つ目の引数、2つ目の引数の間のランダムな整数を返す
echo rand(1,4);
関数の定義
function 関数名(){ 処理 }
「関数名()」というように()をつけて呼び出す
<?php
// 関数helloを定義
function hello(){
echo 'Hello, world!';
}
// 関数helloを呼び出し
echo hello();
//結果: Hello, world!
// 関数printRectangleAreaを定義 $height,$widthが仮引数
function printRectangleArea($height,$width){
echo $height*$width;
}
// 引数を(5, 10)としてprintRectangleAreaを呼び出し
echo printRectangleArea(5,10);
//結果:50
?>
関数は値を「返す」 この値=戻り値
戻り値は「return」で指定
function getSum($num1,$num2){
return $num1 + $num2; ←戻り値
}
$sum = getSum(1,3);
echo $sum;
//結果:4
フォームを作りたい時は、HTMLの<form>タグ
action属性にはデータを渡す先のURLを指定
method属性は値の送信の方法 「get」と「post」のどちらか
getの場合は送信される値がURLに表示、postの場合はURLに表示されない
テキストボックスをつくるにはHTMLの<input type="text">
name属性は入力された値に名前を付ける 値を取得するときに使う
<input>タグは閉じタグが必要ない
改行を含む文章のテキストボックス HTMLの<textarea>タグ
<textarea>タグは閉じタグが必要
送信ボタン <input type="submit">
value属性に指定された値がボタン上に表示
<form action ="送信先url" method ="post">
<input type="text" name="email">
<textarea name="content"></textarea>
<input type="submit" value="送信">
</form>
フォームで送信した値を受け取るには「$_POST」を使用
「$_POST」は連想配列になっている
[ ]の中に、のname属性に指定した値を入れると、それぞれの送信した値を受け取る
<?php echo $_POST['email'] ?>
セレクトボックス <select>タグの中に<option>タグを並べる
<option>タグの中身が選択肢として表示
<select>タグに$_POSTで受け取るためのname属性を指定
<option>タグのvalue属性が送信される値
<select name="choice">
<option value="a">選択肢A</option>
<option value="b">選択肢B</option>
<option value="c">選択肢C</option>
</select>
//選択肢Aを選ぶと
<?php echo $_POST['choice'];
//結果:a
繰り返し処理と変数展開を用いて多数のoptionタグを作れる
変数展開を用いる際はダブルクォーテーションで囲む