10.関数
関数とは、ある処理がかかれたプログラムのことを言います。
たとえば、文字列の長さを計算するプログラムなどが関数として用意されています。
いちいち文字列を計算するプログラムを書く代わりに、用意されている関数を利用するとプログラミングの効率がよくなります。
関数にデータを入力すると、答えが出力されます。関数に渡すデータを引数(ひきすう)といいます。
引数は、複数個の場合も、ゼロ個の場合もあります。
PHPには、多くの内部関数が用意されています。
関数一覧は、PHPマニュアル(オンライン)の「関数レファレンス」を参照してください。
10.1.内部関数
代表的な内部関数には、下記があります。
- 日付・時刻関数
- ファイル・システム関数
- メール関数
- マルチ・バイト文字列関数(mbstring)
- MySQL関数
- 文字列関数
例1)
$fruit = "apple";
$s1 = strlen($fruit); // strlen():文字列の長さ
echo $s1;
画面表示
例2)
$today = date("Y/n/j");
echo $today;
画面表示
10.2.ユーザー定義関数
内部関数はすでに用意されている関数のことでしたが、プログラマーが独自に関数を作ることができます。プログラマーが作った関数のことをユーザー定義関数といいます。
例)
// 関数の定義
function shohizei($kingaku){
$zei = $kingaku * 0.1;
return $zei;
}
// 関数の実行
$zei = shohizei(1000);
関数名は、変数名と同じ規則に従います。(すなわち、アンダースコアまたは英字から始ります。)
関数の定義と関数の実行に順序関係はありません。関数の定義は、ファイルの下部または別ファイルにまとめることが一般的です。
引数は、コンマで区切って、複数個渡すことができます。 関数を呼び出す時、引数と同じ名前で呼び出す必要はありません。引数は順序で判断されます。
戻り値は、return で指定します。
関数からの戻り値は、0個または1個です。複数の値を戻したい場合は、配列を使います。
関数名は、大文字と小文字の区別がありません。(変数名は、大文字と小文字で書いた場合、異なる変数となります。)
10.3.変数のスコープ
変数のスコープとは、変数の有効範囲のことです。
関数内の変数の有効範囲は、その関数内のみです。
関数外の変数の有効範囲は、そのファイル内です。
function shohizei($kingaku){
$zei = $kingaku * 0.1;
return $zei;
}
$shohizei = shohizei(1000);
echo $shohizei;
echo "<br />";
echo $zei;
上記のプログラムを実行すると、画面表示はどうなりますか?