カテゴリ: PHP 更新日: 2025/08/29

PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方

PHP の関数の定義(function)と基本的な使い方
PHP の関数の定義(function)と基本的な使い方

新人と先輩の会話形式で理解しよう

新人

「PHPの関数って何ですか?どうやって使うんでしょうか?」

先輩

「関数は、一連の処理をまとめて、何度でも使えるようにする仕組みです。PHPには組み込み関数もありますが、自分で関数を作ることもできますよ。」

新人

「なるほど、自分で関数を作ることもできるんですね!具体的にどうやって書くんですか?」

先輩

「では、PHPの関数の基本的な使い方を解説していきますね。」

-

1. PHPの関数とは?

1. PHPの関数とは?
1. PHPの関数とは?

関数とは、決まった処理をまとめて定義し、必要なときに呼び出して使う仕組みです。

例えば、「こんにちは!」と表示する処理を関数にまとめると、どこでも簡単に実行できます。

2. 関数を使うメリット

2. 関数を使うメリット
2. 関数を使うメリット

関数を使うことで、以下のようなメリットがあります。

  • コードの再利用ができる(同じ処理を何度も書かなくて済む)
  • コードの可読性が向上する(処理が整理されて読みやすくなる)
  • 変更が簡単になる(関数内のコードを修正するだけで、全体に反映される)

3. PHPの関数の基本的な書き方

3. PHPの関数の基本的な書き方
3. PHPの関数の基本的な書き方

PHPで関数を定義するときは、function キーワードを使います。

以下のコードは、簡単な関数の例です。


function sayHello() {
    echo "こんにちは!";
}

sayHello();

このコードを実行すると、以下のように表示されます。


こんにちは!

関数の定義と呼び出し

関数を作るときは、次のように書きます。

  • function 関数名() { 処理 } で関数を定義する
  • 関数を実行するには 関数名() を書く

関数の動作を確認しよう

関数を使うと、同じ処理を何度でも呼び出せます。


function sayHello() {
    echo "こんにちは!";
}

sayHello();
sayHello();

このコードを実行すると、以下のように表示されます。


こんにちは!
こんにちは!

次のセクションでは、関数に値(引数)を渡して処理をカスタマイズする方法を解説します。

4. 関数に引数を渡す方法

4. 関数に引数を渡す方法
4. 関数に引数を渡す方法

関数に値を渡すことで、処理をより柔軟にできます。渡す値のことを「引数」と呼びます。

引数を使った関数

例えば、名前を引数として受け取り、あいさつをする関数を作ってみましょう。


function greet($name) {
    echo "こんにちは、" . $name . "さん!";
}

greet("太郎");
greet("花子");

このコードを実行すると、次のように表示されます。


こんにちは、太郎さん!
こんにちは、花子さん!

デフォルト値を設定する

引数が渡されなかった場合のために、デフォルト値を設定できます。


function greet($name = "ゲスト") {
    echo "こんにちは、" . $name . "さん!";
}

greet();
greet("太郎");

このコードを実行すると、次のようになります。


こんにちは、ゲストさん!
こんにちは、太郎さん!
-

5. 関数の戻り値

5. 関数の戻り値
5. 関数の戻り値

関数は計算結果を返すこともできます。その場合、returnを使います。

戻り値を持つ関数

例えば、2つの数を足し算して、その結果を返す関数を作ってみましょう。


function add($a, $b) {
    return $a + $b;
}

$result = add(3, 5);
echo "3 + 5 = " . $result;

このコードを実行すると、次のように表示されます。


3 + 5 = 8

戻り値を使うメリット

戻り値を使うことで、関数の結果を変数に保存したり、他の関数に渡したりできます。


function getMessage() {
    return "おはようございます!";
}

$message = getMessage();
echo $message;

このコードを実行すると、次のように表示されます。


おはようございます!

6. 変数のスコープ(ローカル変数とグローバル変数)

6. 変数のスコープ(ローカル変数とグローバル変数)
6. 変数のスコープ(ローカル変数とグローバル変数)

PHPでは、変数の使える範囲(スコープ)が決まっています。主に「ローカル変数」と「グローバル変数」の2種類があります。

ローカル変数とは?

関数内で宣言された変数は、その関数の中でのみ使えます。


function test() {
    $message = "関数内の変数です";
    echo $message;
}

test();
echo $message; // エラーになる

このコードでは、関数の外で$messageを使おうとするとエラーになります。

グローバル変数とは?

関数の外で宣言された変数は、関数の中ではそのまま使えません。


$globalMessage = "グローバル変数です";

function test() {
    echo $globalMessage; // エラーになる
}

test();

関数の中でグローバル変数を使うには、global キーワードを使います。


$globalMessage = "グローバル変数です";

function test() {
    global $globalMessage;
    echo $globalMessage;
}

test();

このコードを実行すると、次のようになります。


グローバル変数です

スーパーグローバル変数

PHPには、どこからでも使える特殊な変数「スーパーグローバル変数」があります。

例えば、$_GET$_POSTは、フォームの入力値を取得するときに使います。


echo $_SERVER['PHP_SELF'];

このコードを実行すると、現在のスクリプトのパスが表示されます。

7. PHPの組み込み関数とユーザー定義関数の違い

7. PHPの組み込み関数とユーザー定義関数の違い
7. PHPの組み込み関数とユーザー定義関数の違い

PHPには、あらかじめ用意されている「組み込み関数」と、自分で作る「ユーザー定義関数」の2種類があります。

組み込み関数とは?

組み込み関数は、PHPが最初から用意している関数です。例えば、文字列の長さを調べるstrlen()や、配列の要素数を取得するcount()などがあります。


$text = "Hello, PHP!";
echo strlen($text);

このコードを実行すると、以下のように表示されます。


12

ユーザー定義関数とは?

ユーザー定義関数は、開発者が自由に作成できる関数です。例えば、数値を2倍にする関数を作ってみましょう。


function double($num) {
    return $num * 2;
}

echo double(5);

このコードを実行すると、以下のようになります。


10

組み込み関数とユーザー定義関数を適切に使い分けることで、効率的にプログラムを書くことができます。

8. 再帰関数(関数の中で自分自身を呼び出す)

8. 再帰関数(関数の中で自分自身を呼び出す)
8. 再帰関数(関数の中で自分自身を呼び出す)

再帰関数とは、関数の中で自分自身を呼び出す関数のことです。

再帰関数の基本

例えば、1から指定した数までの合計を計算する関数を作ることができます。


function sumUp($num) {
    if ($num === 1) {
        return 1;
    }
    return $num + sumUp($num - 1);
}

echo sumUp(5);

このコードを実行すると、次のようになります。


15

再帰関数を使った階乗の計算

階乗(n!)を計算する関数を作ることもできます。


function factorial($n) {
    if ($n === 1) {
        return 1;
    }
    return $n * factorial($n - 1);
}

echo factorial(5);

このコードを実行すると、以下のようになります。


120

再帰関数は便利ですが、深すぎる再帰は処理の負担が大きくなるため、慎重に使う必要があります。

9. 実践!PHP関数を使った簡単なプログラム

9. 実践!PHP関数を使った簡単なプログラム
9. 実践!PHP関数を使った簡単なプログラム

これまで学んだ関数を活用して、実践的なプログラムを作ってみましょう。

ユーザーの年齢を計算する関数

西暦の生まれ年を入力すると、現在の年齢を計算する関数を作ります。


function calculateAge($birthYear) {
    $currentYear = date("Y");
    return $currentYear - $birthYear;
}

echo "あなたの年齢は " . calculateAge(1990) . " 歳です。";

このコードを実行すると、以下のように表示されます。(2025年の場合)


あなたの年齢は 35 歳です。

ランダムなパスワードを生成する関数

ランダムな英数字のパスワードを生成する関数を作成します。


function generatePassword($length = 8) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    $password = "";
    for ($i = 0; $i < $length; $i++) {
        $password .= $chars[random_int(0, strlen($chars) - 1)];
    }
    return $password;
}

echo generatePassword(10);

このコードを実行すると、ランダムな10文字のパスワードが生成されます。

簡単なWebフォームの処理

PHP関数を使って、ユーザーの入力を処理するフォームを作成します。


<form method="post">
    <input type="text" name="username" placeholder="名前を入力してください">
    <button type="submit">送信</button>
</form>

PHPで送信されたデータを処理するコードを作成します。


function processForm() {
    if ($_SERVER["REQUEST_METHOD"] === "POST" && !empty($_POST["username"])) {
        $name = htmlspecialchars($_POST["username"], ENT_QUOTES, 'UTF-8');
        echo "こんにちは、" . $name . " さん!";
    }
}

processForm();

このコードを実行すると、フォームに入力した名前が表示されます。

このように、関数を活用することで、効率的で読みやすいPHPプログラムを作成できます。

まとめ

まとめ
まとめ

PHPの関数(function)は、処理をまとめて何度でも使える便利な仕組みです。この記事では、関数の定義方法から引数の使い方、戻り値の活用、ローカル変数とグローバル変数の違い、再帰関数や組み込み関数とユーザー定義関数の違いまで、幅広く解説しました。関数を使うことで、コードの再利用性が向上し、保守や管理がしやすくなります。特に引数や戻り値を使いこなすことで、より柔軟で実用的な処理が可能になります。

また、スコープの概念を理解することで、予期せぬ変数の上書きやエラーを防げるようになります。スーパーグローバル変数のように、PHPに用意された特別な変数を使うと、フォーム処理やURLパラメータの受け取りも簡単になります。再帰関数では、ループ処理が再帰的に書ける利点があり、階乗計算などに便利です。ただし、再帰処理はメモリ消費にも注意が必要です。

実践パートでは、年齢計算やランダムパスワード生成、Webフォーム処理といった具体的な関数の応用例も紹介しました。以下は、記事内で紹介した年齢計算関数の再掲です。


function calculateAge($birthYear) {
    $currentYear = date("Y");
    return $currentYear - $birthYear;
}

echo "あなたの年齢は " . calculateAge(1990) . " 歳です。";

関数を正しく活用することで、PHPプログラムの品質が大きく向上します。今後は、条件分岐やループと組み合わせて、より高度な処理にも挑戦していきましょう。

初心者にとってPHP関数の使い方を理解することは、プログラミングの基礎固めとして非常に重要です。特に「再利用性」「保守性」「柔軟性」といったキーワードを意識して関数を設計することで、実務でも通用するコーディングスキルが身につきます。

今回学んだ関数の基本から、実践的な応用までを通じて、PHPプログラミングの楽しさと奥深さを感じていただけたのではないでしょうか。

先生と生徒の振り返り会話

新人

「関数って、すごく便利なんですね。特に引数や戻り値を使うと、処理がすごく自由になりますね!」

先輩

「そうなんです。関数を使いこなすと、同じようなコードを何度も書かなくて済みますし、全体の構造も見やすくなりますよ。」

新人

「スコープの違いも理解できました。最初はエラーに悩まされましたけど、ちゃんと意味がわかるとミスも減りそうです。」

先輩

「その調子です!特に実践編のような関数を作って、どんどん試してみると理解が深まりますよ。次はクラスやオブジェクト指向にもチャレンジしてみましょう。」

新人

「はい!PHPの可能性が広がってきた気がします!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

PHPの関数とは具体的にどういう意味ですか?初心者向けに簡単に教えてください

PHPの関数とは、よく使う処理をひとまとまりにしておき、何度でも呼び出して使える仕組みです。「echo」で表示する処理などを関数にまとめておくと、コードを短く保ちやすくなります。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
PHPでメールフォームを作る方法を徹底解説!初心者向けにmail関数とPHPMailerの使い方も紹介
人気記事
No.1
PHP&Python記事人気No1
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
PHP&Python記事人気No2
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
PHP&Python記事人気No3
Pythonのリストを辞書に変換する方法(dict() / zip())
No.4
PHP&Python記事人気No4
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-