引数リスト

 関数で処理を行うのに必要なデータを、関数を呼び出す側からもらうためには引数を指定します。その引数を「仮引数」と呼びます。仮引数は実際のデータがあるのではなく、あると仮定して処理を記述することができます。

 一方、関数を呼び出す側は仮引数が定義されている場合は、仮引数に応じたデータを渡す必要があります。そのデータを「実引数」と呼びます。実引数は処理してもらいたい実際のデータを指定します。

 関数を定義するときには引数を指定しないか、指定するかを決めることができます。また、指定する場合、複数指定することができます。複数指定するときはカンマで区切って指定します。これから、引数を指定するいくつかのパターンを見てみましょう。

■ 仮引数を指定しない

 関数を定義するときに、関数を呼び出す側からデータをもらう必要のない場合は、仮引数リストは指定しません。

○ ファイル

 次のようにファイルを作成してください。

ファイルの種類 PHP ファイル
ファイル名 functiontest1.php

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. <?php
  2. function showData(){
  3.  //表示したいデータを変数に格納する
  4.  $message = 'PHPは楽しい';
  5.  //データを表示
  6.  print("入力したデータは「{$message}」です。");
  7. }
  8. //文字化け対策
  9. header("Content-Type: text/html; charset=utf-8");
  10. //関数の呼び出し
  11. print('これからshowData関数を呼び出します。<hr>');
  12. showData();
  13. print('<hr>showData関数を呼び出しました。');

○ フローチャート

○ 実行結果

実行結果
実行結果

○ 解説

 2~8行目で関数を定義しています。この関数は呼び出されると、変数$messageに表示したいメッセージを格納し、格納したデータを表示します。PHPでは、functionなどで指定されているものは呼び出されたら実行します。そのため、2~8行目は呼び出されるまで実行しません。

 11行目から通常の処理が記述されているので、その行から実行されます。15行目ではshowData関数を呼び出しています。showData関数は仮引数が指定されていないので、呼び出す側でも実引数を指定しません。指定してもshowData関数で使用されません。

■ 仮引数を1つ指定する

 関数の定義で1つ仮引数を指定する方法と、それを呼び出す方法を確認しましょう。

ファイルの種類 PHP ファイル
ファイル名 functiontest2.php

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. <?php
  2. function showData($message){
  3.  //データを表示
  4.  print("入力したデータは「{$message}」です。");
  5. }
  6. //文字化け対策
  7. header("Content-Type: text/html; charset=utf-8");
  8. //表示したいデータを変数に格納する
  9. $data = '関数の外でメッセージ用意';
  10. //関数の呼び出し
  11. print('これからshowData関数を呼び出します。<hr>');
  12. showData($data);
  13. print('<hr>showData関数を呼び出しました。');

○ フローチャート

○ 実行結果

実行結果
実行結果

○ 解説

 2~5行目で関数を定義しています。この関数は仮引数を一つ用意しています。変数$messageが用意されているので、この変数に文字列を受け取る前提で処理が行われます。4行目で渡された文字列を表示しています。8行目から通常のプログラムが記述されています。「functiontest1.php」と比べると、今回は関数外で変数$dataに表示したいメッセージを格納しています。15行目でshowData関数を呼び出していますが、その時に変数$dataを実引数に指定しています。今回は実引数を指定しないとエラーになります。

■ 仮引数を複数指定する

 関数の定義で複数仮引数を指定する方法と、それを呼び出す方法を確認しましょう。今回は2つの引数を扱います。

ファイルの種類 PHP ファイル
ファイル名 functiontest3.php

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. <?php
  2. function showData($message, $count){
  3.  //指定した回数ループ
  4.  for($i=0; $i<$count; $i++){
  5.   //データを表示
  6.   print("指定されたデータは「{$message}」です。<br>");
  7.  }
  8. }
  9. //文字化け対策
  10. header("Content-Type: text/html; charset=utf-8");
  11. //表示したいデータを変数に格納する
  12. $num = 5;
  13. $data = 'みかんが食べたい';
  14. //関数の呼び出し
  15. print('これからshowData関数を呼び出します。<hr>');
  16. showData($data, $num);
  17. print('<hr>showData関数を呼び出しました。');

○ フローチャート

○ 実行結果

実行結果
実行結果

○ 解説

 2~8行目で関数を定義しています。この関数は仮引数を二つ用意しています。文字列と整数値を受け取ります。4行目から受け取った整数値分だけ繰り返して、受け取った文字列を表示します。今回はshowData関数の外でで表示したい文字列と、繰り返したい回数を準備しています。showData関数を呼び出す時に表示したいデータと、表示する回数を渡しています。この二つを渡さないとエラーになります。

前へ   次へ