アットウィキロゴ

PHP基礎⑧(定義済み関数とユーザ関数)

●定義済み関数一覧

以下のように書くと定義されている関数が表示される。

echo '<pre>';
print_r(get_defined_functions());
echo '</pre>';

●ユーザ関数

関数を自分で作ることができる、これをユーザ関数という。

function 関数名(引数 = 初期値){
処理;
return 戻り値;
}
※戻り値とは、結果を受け取るための座標みたいなもの
※引数はパラメータともいう
 ⇒パラメータに処理外のデータが渡された場合、Fatal error~というエラーメッセージが表示
※通常パラメータ(引数)がないとエラーになるが、初期値を設定していることによって防ぐことができる。
※引数を「,」(カンマ)で区切り複数設定することもできる。





例①引数・戻り値ともになし:
function echoToday(){
echo '今日は';
echo date("Y年m月d日");
echo 'です';
}

echoToday();

以下のように表示、

今日は●年●月●日です。
※実際の日付が表示される。


例②引数なし・戻り値あり:
function getToday(){
$date .= '今日は';
$date .= date("Y年m月d日");
$date .= 'です';
return $date;
}

echo getToday();

以下のように表示、

今日は●年●月●日です。
※実際の日付が表示される。


例③引数・戻り値ともにあり:
switch($month){
	case 1:
		$stone = "ガーネット";
		break;
	case 2:
		$stone = "アメジスト";
		break;
	case 3:
		$stone = "アクアマリン";
		break;
	case 4:
		$stone =  "ダイヤモンド";
		break;
	case 5:
		$stone =  "エメラルド";
		break;
	case 6:
		$stone =  "パール";
		break;
	case 7:
		$stone = "ルビー";
		break;
	case 8:
		$stone =  "ペリドット";
		break;
	case 9:
		$stone = "サファイア";
		break;
	case 10:
		$stone =  "トルマリン";
		break;
	case 11:
		$stone =  "トパーズ";
		break;
	case 12:
		$stone =  "ラピスラズリ";
		break;
	default:
		echo "月が指定されていません";
};
return $stone;

}

$birth_stone = getBirthStone(1);
echo $birth_stone;

以下のように表示、

ガーネット

※これは、
①$birth_stone = getBirthStone(1);
	引数getBirthStone()に、「1」が入力される
②function getBirthStone($month)
	ユーザ関数function getBirthStone($month)に当てはめられる
③switch($month) ⇒ $stone = "ガーネット";
	switch文で「1」という条件がきたため、$stone = "ガーネット";が選択される。
④return $stone;
	戻り値return $stone;に代入される
⑤①の$stone = getBirthStone(1)という処理が行われ、$stone = getBirthStone(1) = $birth_stoneとなり、
結果、ガーネットと表示される。


例④引数初期値設定:
function defaultParam($name = '花子'){
$str = '私は' . $name . 'です';
return $str;
}

echo defaultParam();
echo '<br />';
echo defaultParam('ひらの');

以下のように表示、

私は花子です
私はひらのです。

※これは、
引数に何も入らないと「花子」が、何か文字が入るとそれが当てはめられて表示する。


例⑤引数の複数設定:
function getOrder($drink,$glass = 1){
$order = $drink . 'を' . $glass . '杯ください。';
return $order;
}

echo getOrder('麦酒',10);

以下のように表示、

麦酒を10杯ください。


※$glassに何も入力しないと初期値の「1」が入る。
最終更新:2012年01月11日 18:14
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。