ユーザー定義関数
関数とは、簡単に言うと特定の処理をまとめたものです。関数をうまく利用することで効率的にプログラムを組むことができます。PHPには、多くの関数が予め定義されていますが、開発者自身が独自に関数を定義することもできます。開発者が定義する関数をユーザー定義関数といいます。
関数を定義する
functionを使用して、関数を定義します。
書き方例<?php // 引数との加算関数[tashizan関数(任意の関数)] function tashizan( $number ) { return $number + 50; } // tashizan()関数を呼び出します echo tashizan( 50 ); ?>
tashizan()関数は、引数として渡される変数$numberに50の加算を行います。よって、関数名の変数に続けて「()かっこ」の中に、引数を記述します。なお、関数の範囲を明示するために「{}(中かっこ)」で、実行するコードを囲います。
関数を実行するためには、関数名に「()かっこ」を付けて呼び出します。もし、引数が必要な場合は、「()かっこ」に記述します。
複数の引数を渡すこともできます。その際には、引数を「,(カンマ)」で区切って並べます。
複数の引数を渡すkakezan関数を定義する。
<?php function kakezan( $number1, $number2 ) { return $number1 * $number2; } // kakezan()関数を呼び出します echo kakezan( 10, 20 ); ?>
※ 引数に配列を渡すこともできます
関数を実行した結果を得るためには、returnを使います。
returnは複数の値を返すことができません。しかし、値ではなく配列を返すことによって、複数の値を返すことができます。
return array( $number1, $number2 );
関数の参照渡し
引数名に「&(アンパサンド)」を付けると、引数を参照渡しで渡すことができます。引数を参照渡しにすると、参照先の変数の値を変更することができます。
書き方例<?php // 引数参照渡しで渡します function job( &$syokugyo ) { $syokugyo = '会社員'; } $str = '大学生'; echo "関数実行前の¥$str : $str<br>"; // job()関数を実行します job( $str ); echo "関数実行後の¥$str : $str"; ?>
デフォルト引数値
PHPで定義される関数では、引数にデフォルト値を定義することができます。
書き方例<?php function job( $syokugyo = "大学生" ) { return "職業は $syokugyo です。
¥n"; } echo job(); echo job( "会社員" ); ?>
「job( $syokugyo = "大学生" )」によって、$syokugyoはデフォルトで「大学生」となっています。「echo job();」の「job()関数」を引数に何もない状態で実行すると必ず「大学生」が出力されます。