PHP SCHOOL.biz

PHPの学習をする為のブログです。プログラム未経験の方にも理解できるよう基本的な、PHPの知識について身に付けることができるようにわかりやすい内容にしていきたいと思っています。


PHPでのfunction(ユーザー定義関数)の利用

PHPでのfunctionの利用

PHPの真の力は、その機能から来ています。PHPは1000以上の組み込み関数を持っています。

PHPでのユーザー定義関数

組み込みのPHP関数以外にも、独自の関数を作成することができます。


・関数は、プログラム内で繰り返し使用できる文のブロックです。
・ページが読み込まれると、関数はすぐには実行されません。
・関数は、関数の呼び出しによって実行されます。

PHPでユーザー定義関数を作ってみよう!

ユーザー定義関数は、"function"という用語を使用することで使うことができるようになります。

 function 関数名() {
  実行したい処理;
 }

注1:関数名は、文字またはアンダースコア(数字ではない)で始めることができます。
注2:関数名は大文字小文字を区別しません。
ヒント:一般的に関数の機能を反映する名前を関数に付けます。


以下の例では、 "writeMsg()"という名前の関数を作成しています。開始中括弧({)は関数の先頭を示し、終了中括弧(})は関数の終了を示します。この関数は "Hello world!"を出力します。関数を呼び出すには、その関数名を書きます。

<?php
function writeMsg() {
    echo "Hello world!";
}

writeMsg(); // 関数の呼び出し
?>

実行結果

PHPでの関数の引数

関数へ値は、引数を通して関数に渡すことができます。引数は変数のようなものです。
引数は、関数名の後にカッコ内で指定します。必要な数だけ引数を追加できます。複数の引数を与える場合は、カンマで区切ります。
次の例は、1つの引数($ fname)を持つ関数をです。 familyName()関数が呼び出されると、名前(例:田中)も渡され、名前は関数内で使用され、いくつかの異なる苗字が出力されます。

<?php
function familyName($fname) {
    echo "$fname 花子.<br>";
}

familyName("田中");
familyName("能代");
familyName("馬場");
familyName("広江");
familyName("梅澤");
?>

実行結果

次の例は、引数を二つ持った例です。

<?php
function familyName($fname, $year) {
    echo "$fname 花子. Born in $year <br>";
}

familyName("田中", "1977");
familyName("山田", "1978");
familyName("小嶋", "1978");
?>

実行結果

PHPでのデフォルト引数値

次の例は、デフォルトパラメータを引数として使用する方法を示しています。引数なしで関数setHeight()を呼び出すと、引数としてデフォルト値が使用されます。

<?php
function setHeight($minheight = 178) {
    echo "The height is : $minheight <br>";
}

setHeight(179);
setHeight(); // 178というデフォルトの引数値が使用される
setHeight(169);
setHeight(159);
?>

実行結果

PHPでの戻り値を利用した関数

次の例では、関数で戻り値を使用しています。戻り値を戻す場合には、returnを使用します。

<?php
function sum($x, $y) {
    $z = $x + $y;
    return $z; //sum関数が呼び出され足し算をした後の$zの値を戻す
}

echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>

実行結果