PHP ユーザー定義関数のサンプル

PHPのユーザー定義関数のサンプルです。

目次

サンプル ユーザー定義関数とは
  引数と戻り値なし / 引数と戻り値あり / 配列を返す
  デフォルト引数あり / 一部にデフォルト引数 / デフォルト値がある箇所に引数
  無名関数 / 関数の中に関数

ユーザー定義関数とは

  • ユーザーが定義する関数は「ユーザー定義関数」と呼ばれます。
    →PHPにある関数は「組み込み関数」や「ビルトイン関数」と呼ばれます。
  • 関数は処理をまとめることができます。使用するときは関数名を指定して呼び出します。
  • 引数は関数にデータを渡します。パラメータとも言います。引数は必須ではありません。
  • 呼び出し先の引数は、「仮引数」といいます。
  • 呼び出し元の引数は、「実引数」といいます。
  • returnは、関数の呼び出し元に値を返します。返す値を「返り値」または「戻り値」といいます。returnは必須ではありません。
  • 関数内の変数はローカル変数になります。ローカル変数は関数内からのみアクセスできます。

引数と戻り値なし

<?php
function test1(){
	echo 'test1'; // test1と表示される
}

test1();

6行目は、2行目の関数を呼んでいます。

引数と戻り値あり

<?php
function test1($num1,$num2){
	$ans = $num1 + $num2;
	return $ans;
}

$num = test1(2,3);
echo $num; // 5と表示される

7行目は、2行目の関数を引数付きで呼んでいます。
4行目は、戻り値を7行目の呼び出し元に返しています。

配列を返す

<?php
function test1(){
	return ['赤', '黄', '青'];
}

$color = test1();
foreach ($color as $c1) {
	echo $c1; //赤 黄 青
}

3行目は、配列を返しています。

デフォルト引数あり

デフォルト引数は、関数の引数にデフォルト値が設定されています。
関数を呼ぶ側は、引数を省略できます。

<?php
function test1($num1=1,$num2=2,$num3=3){
	$ans = $num1 + $num2 + $num3;
	return $ans;
}

$num = test1();
echo $num; // 6と表示される

2行目は、デフォルト引数を使用しています。
7行目は、引数を指定していませんが戻り値は6になります。

一部にデフォルト引数

デフォルト引数は、右から順に指定します。左端1つのみ指定することはできません。

<?php
function test1($num1,$num2=2,$num3=3){
	$ans = $num1 + $num2 + $num3;
	return $ans;
}

$num = test1(1);
echo $num; // 6と表示される

7行目の引数の1は2行目の$num1にあたります。

デフォルト値がある箇所に引数

<?php
function test1($num1=1,$num2=2,$num3=3){
	$ans = $num1 + $num2 + $num3;
	return $ans;
}

$num = test1(3,4);
echo $num; // 10と表示される

3行目は、3つの引数にデフォルト引数が設定されています。
引数の値は、関数に設定した引数が優先されてnum1は3、num2は4、num3は3として計算されます。

無名関数

関数名がない関数です。

<?php
$log1 = function ($num1) {
	echo ($num1 . "です");
};
$log1("100"); // 100ですが表示される

2行目は、関数名がありません。
4行目は、最後にセミコロンが必要です。
5行目は、無名関数を実行しています。

関数の中に関数

関数の中に関数を入れることは可能です。

<?php
function test1(){
	echo 'test1';
	function test2(){
		echo 'test2';
	}
	test2();
}
test1(); // test1 test2と表示される

関数test1が実行された時、7行目で関数test2が実行されます。

以下はPHPマニュアルのユーザー定義関数のリンクです。
http://php.net/manual/ja/functions.user-defined.php 

関連の記事

PHP ローカル変数とグローバル変数(global)
PHP static変数のサンプル

△上に戻る