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

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

HP の関数の定義(function)と基本的な使い方
HP の関数の定義(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プログラムを作成できます。

コメント
コメント投稿は、ログインしてください

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

カテゴリの一覧へ
新着記事
Pythonで複数の条件を組み合わせる方法!and・or・notの使い方
Pythonの例外処理(try-except)の基本と応用!エラーハンドリング完全ガイド
Pythonの三項演算子とは?一行で条件分岐を記述する方法
Pythonのmatch文(パターンマッチング)の使い方!switch文の代替
人気記事
No.1
Java&Spring記事人気No1
PHP のセッションの有効期限を設定する方法(session_set_cookie_params)
No.2
Java&Spring記事人気No2
PHP の関数のスコープを完全解説!ローカル変数とグローバル変数の違いとは?
No.3
Java&Spring記事人気No3
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
No.4
Java&Spring記事人気No4
PHP の XSS(クロスサイトスクリプティング)対策を完全解説!初心者向けガイド
-