「同じコードを何回も書くのが面倒だな…」
「プログラムがごちゃごちゃして、どこに何が書いてあるかわからない!」
そんなお悩みを解決してくれるのが、PHPの関数(function)です。
この記事では、関数の基本から実際の使い方まで、プログラミング初心者の方にもわかりやすく説明します。
PHPの関数ってなに?

機能の説明
関数とは、よく使う処理にわかりやすい名前をつけて、何度でも使えるようにしたものです。
料理に例えると、「カレーを作る」という手順を一度覚えておけば、いつでも同じ手順でカレーが作れますよね。
プログラムでも同じで、よく使う処理を関数にしておけば、名前を呼ぶだけで その処理を実行できます。
関数の特徴
- 同じ処理を何度でも使い回せる
- プログラムが整理されて読みやすくなる
- 修正するときも一箇所だけ直せばよい
- バグが見つけやすくなる
こんなときに便利
税込価格の計算 いろんな商品で使うので、関数にしておくと便利
メールアドレスのチェック お問い合わせフォームなどで何度も使う
日付の表示 「2025年6月2日」のような形式で表示したいとき
基本的な関数の書き方
構文の説明
関数は、次のように書きます:
function 関数名() {
// ここに実行したい処理を書く
}
関数の名前をつけるルール
- 英数字とアンダースコア(_)が使える
- 数字から始めてはいけない
- 日本語は使えない
- 他の関数と同じ名前は使えない
実際に作ってみよう
例1:あいさつをする関数
説明 「こんにちは!」と表示する関数を作ってみましょう。
コード例
<?php
function sayHello() {
echo "こんにちは!\n";
}
// 関数を呼び出す(使う)
sayHello();
?>
実行結果
こんにちは!
解説
function sayHello()
で関数を定義します{}
の中に実行したい処理を書きますsayHello()
で関数を呼び出します
例2:簡単な計算をする関数
説明 2つの数を足し算する関数を作ってみましょう。
コード例
<?php
function calculate() {
$a = 5;
$b = 3;
$result = $a + $b;
echo "計算結果:" . $result . "\n";
}
calculate();
?>
実行結果
計算結果:8
引数を使った関数

引数とは
引数(ひきすう)とは、関数に渡すデータのことです。
関数を「機械」だと考えてみてください。機械に材料を入れると、加工された製品が出てきますよね。引数は、その「材料」にあたります。
引数を使った関数の書き方
function 関数名($引数名) {
// $引数名を使った処理
}
実際に使ってみよう
例1:名前を使ったあいさつ
説明 相手の名前を受け取って、その人向けのあいさつをする関数を作りましょう。
コード例
<?php
function greet($name) {
echo "こんにちは、" . $name . "さん!\n";
}
greet("田中");
greet("佐藤");
greet("山田");
?>
実行結果
こんにちは、田中さん!
こんにちは、佐藤さん!
こんにちは、山田さん!
解説
$name
が引数です- 関数を呼ぶときに、
greet("田中")
のように値を渡します - 関数の中では、
$name
にその値が入ります
例2:2つの数を足し算する
説明 2つの数を受け取って、足し算の結果を表示する関数を作りましょう。
コード例
<?php
function addNumbers($num1, $num2) {
$result = $num1 + $num2;
echo $num1 . " + " . $num2 . " = " . $result . "\n";
}
addNumbers(3, 5);
addNumbers(10, 20);
addNumbers(7, 13);
?>
実行結果
3 + 5 = 8
10 + 20 = 30
7 + 13 = 20
戻り値のある関数

戻り値とは
戻り値とは、関数が計算した結果を呼び出し元に返すことです。
自動販売機を例に考えてみましょう。お金を入れてボタンを押すと、飲み物が出てきますよね。お金とボタンが「引数」で、出てきた飲み物が「戻り値」です。
戻り値のある関数の書き方
function 関数名($引数名) {
// 処理
return 結果;
}
実際に使ってみよう
例1:足し算の結果を返す
説明 2つの数を足し算して、その結果を返す関数を作りましょう。
コード例
<?php
function add($a, $b) {
$result = $a + $b;
return $result;
}
$answer = add(3, 5);
echo "答えは:" . $answer . "\n";
// 直接使うこともできます
echo "10 + 15 = " . add(10, 15) . "\n";
?>
実行結果
答えは:8
10 + 15 = 25
解説
return $result
で計算結果を返します- 返された値は、変数に代入したり、直接使ったりできます
例2:税込価格を計算する
説明 商品の価格を受け取って、税込価格を計算して返す関数を作りましょう。
コード例
<?php
function calculateTaxIncluded($price) {
$tax_rate = 0.1; // 10%の税率
$tax_included = $price * (1 + $tax_rate);
return $tax_included;
}
$item_price = 1000;
$final_price = calculateTaxIncluded($item_price);
echo "商品価格:" . $item_price . "円\n";
echo "税込価格:" . $final_price . "円\n";
?>
実行結果
商品価格:1000円
税込価格:1100円
変数の有効範囲(スコープ)
スコープとは
スコープとは、変数が使える範囲のことです。
教室を例に考えてみましょう。教室の中で書いたメモは、その教室の中でしか読めませんよね。プログラムでも同じで、関数の中で作った変数は、その関数の中でしか使えません。
スコープの例
説明 関数の中と外で、同じ名前の変数を使ってみましょう。
コード例
<?php
$message = "関数の外のメッセージ";
function showMessage() {
$message = "関数の中のメッセージ";
echo $message . "\n";
}
showMessage();
echo $message . "\n";
?>
実行結果
関数の中のメッセージ
関数の外のメッセージ
解説
- 関数の中の
$message
と外の$message
は、同じ名前でも別々の変数です - 関数の中で変更しても、外の変数には影響しません
外部の変数を関数で使う方法
説明 関数の外で定義した変数を、関数の中で使いたい場合は、global
を使います。
コード例
<?php
$tax_rate = 0.1;
function calculatePrice($price) {
global $tax_rate;
return $price * (1 + $tax_rate);
}
echo "税込価格:" . calculatePrice(1000) . "円\n";
?>
実行結果
税込価格:1100円
実際の現場でよく使う関数の例

例1:入力チェック関数
説明 フォームに入力された内容が正しいかチェックする関数です。
コード例
<?php
function checkEmail($email) {
if (strpos($email, "@") !== false) {
return true;
} else {
return false;
}
}
$user_email = "test@example.com";
if (checkEmail($user_email)) {
echo "正しいメールアドレスです\n";
} else {
echo "メールアドレスが正しくありません\n";
}
?>
例2:文字列の整形関数
説明 名前から敬称(さん、様など)をつけた表示を作る関数です。
コード例
<?php
function formatName($name, $title = "さん") {
return $name . $title;
}
echo formatName("田中") . "\n"; // 田中さん
echo formatName("佐藤", "様") . "\n"; // 佐藤様
?>
例3:配列の平均を計算する関数
説明 数値の配列を受け取って、平均値を計算する関数です。
コード例
<?php
function calculateAverage($numbers) {
$total = 0;
$count = count($numbers);
foreach ($numbers as $number) {
$total += $number;
}
return $total / $count;
}
$scores = [80, 95, 72, 88, 91];
$average = calculateAverage($scores);
echo "平均点:" . $average . "点\n";
?>
実行結果
平均点:85.2点
よくある間違いと解決方法
return文を忘れる
❌ よくある間違い
function add($a, $b) {
$result = $a + $b;
// returnを忘れている
}
$answer = add(3, 5); // $answerにはnullが入る
✅ 正しい書き方
function add($a, $b) {
$result = $a + $b;
return $result; // 結果を返す
}
$answer = add(3, 5); // $answerには8が入る
関数名の重複
❌ よくある間違い
function test() {
echo "最初の関数";
}
function test() { // 同じ名前はエラー
echo "2番目の関数";
}
✅ 正しい書き方
function test1() {
echo "最初の関数";
}
function test2() { // 違う名前にする
echo "2番目の関数";
}
練習問題にチャレンジ
理解を深めるために、簡単な練習をしてみましょう。
問題1 文字列を受け取って、「Hello, 〇〇!」の形で返す関数を作ってください。
答え
function sayHello($name) {
return "Hello, " . $name . "!";
}
echo sayHello("太郎"); // Hello, 太郎!
問題2 3つの数を受け取って、一番大きな数を返す関数を作ってください。
答え
function findMax($a, $b, $c) {
if ($a >= $b && $a >= $c) {
return $a;
} elseif ($b >= $c) {
return $b;
} else {
return $c;
}
}
echo findMax(10, 25, 15); // 25
まとめ
関数を使えば、プログラムがとても書きやすく、読みやすくなります。
今日覚えたこと
- 基本構文:
function 関数名() { 処理 }
- 引数:関数に渡すデータ
- 戻り値:関数が返す結果(
return
を使う) - スコープ:変数が使える範囲
コメント