●定義済み関数一覧
以下のように書くと定義されている関数が表示される。
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