2009-04-21
PHP vol.11
while文
while (条件式) {
条件がtrueになるまで繰り返し
}
//処理を終了させるためにはbreakを使用する。
例)出力を続けて100になったら止まる
<?php $i = 1; while (true) { if ($i == 100) { break; } $i++; echo $i."\n"; }
別パターン
<?php $i = 1; while ($i <= 100) { echo $i."\n"; $i++; }
- breakはwhile文以外でも使える
continue
入った瞬間に繰り返し文の始めに戻す
<?php $i = 0; while (true) { $i++; if ($i == 100) { break; } if ($i%2==0) { continue; } echo $i."\n"; }
実行結果
$ php 042103.php 1 3 5 (中略) 95 97 99
switch文
<?php switch (変数) { case 値1: 実行する処理1; break; case 値2: 実行する処理2; break; default: 実行する処理X; }
例)
<?php $i = 2; switch ($i) { case 1: echo "1です。\n"; break; case 2: echo "2です。\n"; break; case 3: echo "3です。\n"; break; default: echo "それ以外\n"; }
実行結果
$ php 042104.php 2です。
ユーザー定義関数
function 関数名(引数) {
実行するプログラム(処理内容)
//値を返すものがある場合
return 戻り値
}
例)
<?php function Hello() { echo "こんにちは!こんにちは!こんにちは!\n"; } Hello(); Hello(); Hello(); Hello();
実行結果
$ php 042105.php こんにちは!こんにちは!こんにちは! こんにちは!こんにちは!こんにちは! こんにちは!こんにちは!こんにちは! こんにちは!こんにちは!こんにちは!
引数
<?php function Hello($name) { echo $name."さん、こんにちは!\n"; } Hello('N'); Hello('I'); Hello('T');
実行結果
$ php 042106.php Nさん、こんにちは! Iさん、こんにちは! Tさん、こんにちは!
試してみた。
<?php function Hello($name,$mono) { echo $name."さん、".$mono."でこんにちは!\n"; } function TheEnd($name,$mono) { echo $name."さん、".$mono."で残念。\n"; } Hello('A','a'); TheEnd('B','b'); Hello('C','c'); TheEnd('D','d'); Hello('E','e'); TheEnd('F','f');
実行結果
$ php 042106.php Aさん、aでこんにちは! Bさん、bで残念。 Cさん、cでこんにちは! Dさん、dで残念。 Eさん、eでこんにちは! Fさん、fで残念。
戻り値
<?php function test($a,$b) { $re = 0; $re = $a + $b; return $re; } $r = test(1,2); echo $r."\n";
実行結果
$ php 042107.php 3
参照渡し
今までの手法が値渡しと言われている。
今回、参照渡しを行う。
<?php function test (&$a,&$b) { $a= $a + $b; } $s1 = 1; $s2 = 2; test ($s1,$s2); echo $s1."\n";
- 値渡しは数値のコピーである
- 参照渡しは値を入れる箱ごと渡す
- 外側にも影響を与えることができる。
- 見ている値を同じにすることができる。
- 普段は値渡しが主に使われる。
Copyright © crazyup. All rights reserved.


