@ PHP

function:ユーザ定義関数

関数の宣言

定型的な処理について、アプリケーション開発者が定義する関数をユーザ定義関数と言います。

関数を定義するには、function 命令を使います。

function 関数名(仮引数,‥‥) {
    // 任意の処理
    return 戻り値;
 }

関数名は識別子の命名規則に従うので、文字またはアンダースコアで始まり、名前の残りの文字は文字、数字、またはアンダースコアになります。

仮引数(parameter)とは、ユーザ定義関数の中で参照可能な変数です。ユーザ定義関数を呼び出す際に、呼び出し元からユーザ定義関数に値を渡すために使います。

そして、ブレース(中括弧)で囲んで関数の本文を書きます。

戻り値は、関数が呼び出し元に返す値のことで、return 命令で指定します。

functions_01.phpでは、getSquare()という新しい関数を定義します。

functions_01.php

<?php
function getSquare($width, $height) {
    print $width * $height;
}
?>

関数の呼び出し

functions_01.phpで定義されたgetSquare()関数は、組み込み関数と同じ呼び出しができます。functions_01.phpはpage_header()を使ってページ全体を出力します。

function 関数名(仮引数,‥‥) {
    // 任意の処理
    return 戻り値;
 }
関数名(実引数,‥‥); // 関数の実行

実引数(argument)とは、関数を呼び出す際に引き渡される値のことです。実引数を指定しない場合は仮引数に指定した初期設定値を使い関数を実行します。

functions_02.php

<?php
function getSquare($width, $height) {
    print $width * $height;
}
getSquare(6, 4);
?>

呼び出しの後で関数を定義する

関数は呼び出しの前あるいは後のどちらでも定義することができます。

functions_03.php

<?php
getSquare(6, 4);
function getSquare($width, $height) {
    print $width * $height;
}
?>

関数の値を返す

関数から値を返すためには、return キーワードを返す値といっしょに使います。

関数は実行中に、return キーワードを見つけるとすぐに、動作を中止して関連する値をかえします。

functions_04.php

<?php
function getSquare($width, $height) {
    return $width * $height;
}
$area = getSquare(6, 4);
print $area;
?>

引数 / 戻り値の型宣言

関数の引数 / 戻り値には、明示的に型を指定することもできます。これを型宣言をといいます。

型宣言を利用することで、関数に不正な型が渡されるのを未然に防げます。

functions_05.php

<?php
function getSquare(float $width, float $height): float {
    return $width * $height;
}
$area = getSquare(6, 4);
print $area;
?>

引数の型は仮引数の直前に、戻り値の型は引数リストの後方に :(コロン)区切りで表します。

型宣言で利用できる型
型名 概要
bool 真偽値
float 浮動小数点数
int 整数
string 文字列
array 配列
callable コールバック関数
クラス / インターフェス 現在のクラス(メソッド)
self 真偽値