関数を定義する

良く使う処理はユーザー定義関数として定義しよう。

プログラムを書いていくにつれ、良く利用する命令があることに気づくでしょう。 出てくる度に同じ命令を書くのは手間がかかりますし、 後で変更したくなったときに大変になります。

関数とは

関数とは、一連の処理をひとまとめにしたものです。 プログラム中で良く利用する処理は関数として定義しておくと、 プログラム作成がしやすく、またメンテナンスもしやすくなります。

PHP にはあらかじめ多くの関数が用意されていますが、 プログラム作成者が関数を追加することができ、 ユーザー定義関数と呼ばれます。

関数を定義するには

関数を定義するには、以下のように記述します。 関数の名前は既に使用されている関数名でなければ自由に付けることができます。 変数は必要ならば複数設定できます。 変数無しの場合は括弧のみを関数名の後に書いておきましょう。

関数を使用する場合は、処理した結果を利用したいことが多いでしょう。 利用したい値(戻り値)返す命令return を関数の最後に書いておきます。 (文法上は最後でなくてもかまいませんが、 最後に書いておいたほうがわかりやすいでしょう。) 戻り値は単一の変数はもちろん、配列でもかまいません。

function 関数名(変数) {
    処理1 ;
    処理2 ;
   (中略)
    return(戻り値) ;
}

例えば、商品単価と個数を入力すると合計金額を返す関数は、 下のようになります。

function kingaku($tanka,$kosuu) {
    $goukei = $tanka * $kosuu ;
    return($goukei) ;
}

なお、PHP3以前のバージョンでは、ユーザー定義関数は、 呼び出す前に定義してないといけなかったのですが、 PHP4以降では、どこで定義してもかまいません。

変数は値渡しになる

ユーザー定義関数では、変数が値渡しで受渡しされます。 参照渡しにしたい場合は、& を変数の前に書いておく必要があります。 参照渡しと値渡しを間違えると、エラーにはならないが結果はおかしい、ということになって、 プログラムのチェックが大変になってしまいます。 注意しましょう。

変数にデフォルト値を設定するには

ユーザー定義関数の変数は、デフォルト値といって、 入力がなかった場合に使用する値を設定することができます。 デフォルト値を設定するには、変数を「変数=値」の形で書いておきます。

先ほどの関数で、個数が省略された場合、個数を1とするには、 以下のように書いておきます。 デフォルト値の無い値をデフォルト値のある値よりも前に(左に) 書いておかないとエラーになります。

function kingaku($tanka,$kosuu=1) {
    $goukei = $tanka * $kosuu ;
    return($goukei) ;
}
Copyright (C) 2003-2013. PHP で WEB 作成 All rights reserved.