PHPの関数のサンプルです。
目次
関数
| function 関数名(引数){ 処理 return 値; } |
- 関数は処理をまとめることができます。
- 引数は関数にデータを渡します。パラメータとも言います。
- 引数は必須ではありません。
- returnは、関数の呼び出し元に値を返します。返す値を返り値または戻り値といいます。
- returnは必須ではありません。
- 以下はPHPマニュアルのユーザー定義関数のリンクです。
http://php.net/manual/ja/functions.user-defined.php
引数なし、戻り値なしの関数のサンプル
6行目のtest1()が、2行目の関数を呼んでいます。
引数、戻り値ともにありません。
<?php
function test1(){
echo 'test1';
}
test1(); // test1と表示される
?>
引数がある関数のサンプル
7行目のtest1(2,3)が、2行目の関数を引数付きで呼んでいます。
3行目で計算した値をreturnで7行目の呼び出し元に返しています。8行目で6が表示されます。
→2行目の引数(aとb)を仮引数、7行目の引数を実引数といいます。
<?php
function test1($num1,$num2){
$ans = $num1 * $num2;
return $ans;
}
$num = test1(2,3);
echo $num; // 6と表示される
?>
デフォルト引数がある関数
デフォルト引数は、関数の引数にデフォルト値が設定されています。関数を呼ぶ側は、引数を省略できます。
関数のデフォルト値がある引数の箇所に、関数を呼ぶ側で引数を設定すると、関数を呼ぶ側で設定した引数が優先されます。
コード
デフォルト引数がある関数のサンプルです。
2行目は、デフォルト引数を使用しています。
7行目は、引数を指定していませんがデフォルト引数の値で計算されてnumの値は6になります。
<?php
function test1($num1=1,$num2=2,$num3=3){
$ans = $num1 + $num2 + $num3;
return $ans;
}
$num = test1();
echo $num; // 6と表示される
?>
一部の引数にのみデフォルト引数を設定
デフォルト引数は、右から順に指定します。
左端1つのみ指定することはできません。
以下は、右から$num3と$num2のみデフォルト引数としています。
7行目の引数の1は2行目の$num1にあたります。
<?php
function test1($num1,$num2=2,$num3=3){
$ans = $num1 + $num2 + $num3;
return $ans;
}
$num = test1(1);
echo $num; // 6と表示される
?>
関数を呼ぶ側でデフォルト値がある引数の箇所に引数を設定した場合
関数を呼ぶ側でデフォルト値がある引数の箇所に引数を設定した場合です。
7行目は、引数を2つ設定しています。
3行目は、3つの引数にデフォルト引数が設定されています。引数の値は、関数に設定した引数が優先されてnum1は5、num2は6、num3は3として計算されます。
<?php
function test1($num1=1,$num2=2,$num3=3){
$ans = $num1 + $num2 + $num3;
return $ans;
}
$num = test1(5,6);
echo $num; // 14と表示される
?>
関連の記事
PHP if文のサンプル
PHP while文とdo…while文のサンプルのサンプル
PHP 配列の値をループで取得するサンプル(foreach文)
PHP エスケープシーケンスのサンプル