
【6日でできるPHP入門】さまざまな関数
前の記事では関数の概念とユーザー定義関数の基本を学びました。本章ではそれを一歩進め、「さまざまな関数」を実際に作りながら“戻り値を返す関数”“画面に出力するだけの関数”“デフォルト引数や可変長引数を持つ関数”など多彩なパターンを体験します。

1.戻り値を活用する関数
1.1. 最小値を返す min_value
ファイル名: lesson44_1.php
<?php
// 2 つの数の小さい方を返す
function min_value($a, $b){
return ($a < $b) ? $a : $b;
}
// 呼び出し
$n1 = 7; $n2 = 10;
echo "*** min_value 関数 ***<br>";
echo "{$n1} と {$n2} の小さい方は " . min_value($n1, $n2) . " です。<br>";
?>
実行結果

1.2. べき乗を計算する power_of
ファイル名: lesson44_2.php
<?php
// 第 2 引数を省略したら 2 乗を計算
function power_of(float $base, int $exp = 2): float{
return pow($base, $exp); // pow は組み込み関数
}
echo "*** power_of 関数 ***<br>";
echo "3 の 2 乗は " . power_of(3) . " です。<br>";
echo "2 の 5 乗は " . power_of(2, 5) . " です。<br>";
?>
実行結果

主な PHP 命令 | 役割 |
---|---|
return | 戻り値を指定すると同時に関数を終了する。 |
pow() | 底と指数を受け取り、べき乗を返すビルトイン関数 |
echo | 文字列をブラウザに出力する。 |
2.画面出力系の関数
2.1. 絵文字を繰り返し表示する draw_emojis
ファイル名: lesson44_3.php
<?php
// 指定回数だけ絵文字を表示し、改行して終了
function draw_emojis(int $count, string $emoji = "🌟"){
for($i = 0; $i < $count; $i++){
echo $emoji;
}
echo "<br>";
// 戻り値は不要なので return 省略も可
}
// 呼び出し例
echo "*** draw_emojis 関数 ***<br>";
draw_emojis(4); // 🌟🌟🌟🌟
draw_emojis(6, "🎈"); // 🎈🎈🎈🎈🎈🎈
?>
実行結果

2.2. あいさつを行う greet_user
ファイル名: lesson44_4.php
<?php
// 名前を受け取り「こんにちは」を表示
function greet_user(string $name = "ゲスト"){
echo "こんにちは、{$name} さん!<br>";
}
echo "*** greet_user 関数 ***<br>";
greet_user("田中");
greet_user(); // デフォルト引数が適用
?>
実行結果

ループ関連命令 | 説明 |
---|---|
for (初期化; 条件; 更新) | 指定回数ループさせる基本構文 |
$i++ | インクリメント演算子。変数の値を 1 増やす。 |
3.発展的テクニック
3.1. 可変長引数で合計を求める sum_all
ファイル名: lesson44_5.php
<?php
function sum_all(...$nums): int{
return array_sum($nums); // 配列の合計を返す
}
echo "*** sum_all 関数 ***<br>";
echo "合計: " . sum_all(1, 2, 3, 4, 5) . "<br>"; // 15
?>
新しい構文 | 説明 |
---|---|
function sum_all(...$nums): int{ | 関数sum_all を定義。...$nums は可変長引数(任意個の引数を配列として受け取る)を意味し、返り値の型がint (整数)であることも明示しています。 |
...$nums | 可変長引数。呼び出し側で与えた値が配列として受け取れる。 |
array_sum() | 配列要素をすべて加算するビルトイン関数 |
実行結果

まとめ
- 戻り値を返す関数は計算結果などを呼び出し元へ渡せるため、ロジックを部品化できる。
- 出力専用の関数は画面描画のコードを一箇所に集約し、HTML を整形しやすい。
- デフォルト引数・可変長引数を活用すると、呼び出しインターフェースが柔軟になる。
return
,echo
, 制御構文(if
,for
)などの基本命令を正しく理解すると、どんな関数も自在に設計できる。