関数はなんらかの作業を行うためのコードをひとまとめにして名前を付けたものです。
何らかの値をパラメータ(引数)として受け取り、作業の結果として出来上がった値を返します。(戻り値)
PHPで使用できる関数は組み込み関数とユーザー定義関数の2つの種類があります。
ユーザー定義関数
ユーザー定義関数の構文
function 関数名 (引数){ 処理 return 変数 }
例1 関数の宣言〜引数も戻り値もない関数
<?php function page_header(){ echo '<html><head><title>Sample</title></head><body class="page">'; } ?>
関数の呼び出し
<?php page_header(); echo '<p>Test</p>'; echo '</body></html>'; ?>
例2 関数の宣言〜引数があり戻り値はない関数
<?php function page_header($myTitle){ echo '<html><head><title>'.$myTitle.'</title></head><body class="page">'; } ?>
関数の呼び出し
<?php page_header('Sample1'); echo '<p>Test</p>'; echo '</body></html>'; ?>
引数を指定した関数を呼び出す際に引数を指定しなかった場合には次のような警告がでます。
Warning: Missing argument 1 for page_header(),〜
もしそのようなトラブルを避けるのなら、デフォルトの引数を設定しておくのも1つの方法です。
例3 関数の宣言〜デフォルトの引数があり戻り値はない関数
<?php function page_header($myTitle='Sample0'){ echo '<html><head><title>'.$myTitle.'</title></head><body class="page">'; } ?>
関数の呼び出し
<?php page_header(); echo '<p>Test</p>'; echo '</body></html>'; ?>
page_header();とすればSample0が表示され、page_header(‘Sample2’);とすればSample2が表示されます。
例4 関数の宣言〜戻り値のある関数
<?php function page_header($myTitle){ $element = '<html><head><title>'.$myTitle.'</title></head><body class="page">'; return $element; } ?>
関数の呼び出し
<?php echo page_header('Sample1'); echo '<p>Test</p>'; echo '</body></html>'; ?>
page_header()関数はヘッダー要素を$elementに代入して返していますが、値を返しただけで書き出す事は命令していません。返された値をechoで書き出すことで表示されることになります。
以上の例1〜例4の内容の違いをよく確認しておきましょう。