【サクッと解説】PHP 自作関数の作り方と引数・戻り値の基本

目次

1. 本記事のポイント

  • PHPで自作関数を作る基本構文と設計の考え方を解説
  • 引数と戻り値の仕様と使い分け方を実行例付きで紹介
  • 実務での関数設計における注意点や落とし穴も補足

2. PHPの自作関数とは?

PHPにおける関数は、一連の処理をまとめて再利用可能にするための仕組みです。組み込み関数に加え、開発者が独自に定義する「ユーザー定義関数(自作関数)」を活用することで、処理の共通化や可読性の向上が可能になります。

関数は特に、同じ処理を複数の場所で使いたい場合や、処理の構造を明確に分離したいときに有効です。引数(パラメータ)を通じて外部から値を受け取り、戻り値として処理結果を返すことができます。

PHPの関数定義はグローバルスコープであればどこでも可能ですが、関数の再定義は禁止されており、同名の関数がすでに存在している場合はエラーになります。そのため、関数名の命名には注意が必要です。

3. 詳細解説

基本的な自作関数の定義と呼び出し

最も基本的な構文は以下の通りです:

PHP
<?php
function sayHello() {
    echo "こんにちは!\n";
}

sayHello(); // => こんにちは!

function キーワードで関数を定義し、関数名の後に丸括弧と波括弧で囲んだ本体を記述します。関数は定義後に呼び出すことで実行されます。

引数を使った関数

引数を使うことで、外部から値を受け取って処理に活用できます。

PHP
<?php
function greet($name) {
    echo "こんにちは、{$name}さん!\n";
}

greet("田中"); // => こんにちは、田中さん!

関数定義の括弧内に変数を記述することで、呼び出し時に値を渡すことができます。PHPではデフォルト引数も指定可能です。

PHP
<?php
function greetWithDefault($name = "ゲスト") {
    echo "ようこそ、{$name}さん!\n";
}

greetWithDefault(); // => ようこそ、ゲストさん!

戻り値を返す関数

戻り値がある関数は return を用いて結果を呼び出し元に返します。

PHP
<?php
function add($a, $b) {
    return $a + $b;
}

$result = add(3, 5);
echo $result; // => 8

戻り値は、関数呼び出し部分で変数に代入したり、他の式に組み込んで使うことができます。

return の副作用と注意点

return を使うと、その時点で関数の処理は終了します。以下のように、return 以降の処理は実行されません:

PHP
<?php
function testReturn() {
    return "完了";
    echo "この行は実行されません";
}

4. よくあるミス・誤解・落とし穴

  • return の記述漏れ:戻り値が必要な関数で return を忘れると null が返ります。
  • 型の不一致:PHP 7以降では型指定が可能ですが、指定した型と異なる値を返すと TypeError になります。
  • 関数名の重複:同名の関数を再定義しようとすると致命的エラーとなります。
  • スコープの混同:関数内で定義した変数は原則として関数外から参照できません。

以下は型指定ミスの例です:

PHP
<?php
declare(strict_types=1);
function multiply(int $a, int $b): int {
    return $a * $b;
}

// multiply("2", "3"); // => TypeError

5. まとめ

PHPの自作関数は、処理の再利用や構造の整理に有効な手段です。引数と戻り値を適切に設計することで、保守性の高いコードが実現できます。

関数定義時は、引数の有無、戻り値の型、エラー処理の有無などを考慮し、実務に応じた使い分けが求められます。特に型指定やスコープに関する仕様には注意が必要です。

よかったらシェアしてね!
  • URLをコピーしました!
目次