前回と前々回で、基本データ構造、配列、条件分岐、ループを学んだのでそれらをより効率的に利用する為に関数ともしもに備える例外処理について学んでいきます。
この記事の目次
関数とは??
関数は、特定のタスクを実行するためのコードのまとまりです。
同じ処理を何度も繰り返し使いたい場合に便利で、プログラムの効率性と可読性が向上します。
つまり、特定の「まとまった処理」をひとまとめにして名前を付けたものです。
例えるなら、「ある決まった仕事をする箱」のようなものです。
そういえば中学生の頃、数学の先生が関数とは函であると関数を激推ししていたのを思い出しました!
何はともあれまずは関数を定義します!
function 関数名(引数) {
// 実行する処理
return 戻り値;
}
それでは上記の関数定義の基礎をそれぞれ見ていきましょう!
function: 「これから関数を定義しますよ」というキーワード
関数名: 自分で好きな名前を付けられます(後で呼び出すときに使います)
引数: 関数に渡すデータ(必要なら指定、なくてもOK)
戻り値: 処理結果を関数の外に返します(必要なら指定、なくてもOK)
関数を呼び出す
関数を使いたいときは、定義した関数名に必要なデータ(引数)を渡して呼び出します。
関数名(引数);
具体的な例
例1: 最も基本的な関数
何かを表示する簡単な関数を作ります。
<?php
function sayHello() {
echo "こんにちは!";
}
// 関数を呼び出す
sayHello();
?>
それでは呼び出しの基本をそれぞれ見ていきましょう!
sayHello: 関数の名前
echo “こんにちは!”: この関数の処理
結果: 「こんにちは!」と画面に表示されます
応用例
例2:足し算をする関数
additionという関数を作って、$a,$bを受け取り、足し算をする処理をつくります
<?php
function addition($a, $b) {
return $a + $b;
}
// 関数の呼び出し
$result = addition(3, 5);
echo "結果: " . $result; // 結果: 8
?>
addition関数を定義し、2つの引数($aと$b)を受け取ります。
値の渡し方として、addition(3, 5)と書くことで、3と5が引数として関数に渡されます。
引数を使って足し算を実行し、その結果をreturnで返します。
関数を呼び出すときに引数を渡すと、計算結果を取得できます。
他にも変数を引数として渡すこともできます
例
<?php
function addition($a, $b) {
return $a + $b;
}
// 変数を定義し値を代入
$x = 10;
$y = 20;
// 変数を引数として渡すように定義
$result = addition($x, $y);
echo "結果: " . $result; // 結果: 30
?>
例3: 条件付きで処理を分ける関数
偶数か奇数かを判定する関数
<?php
function checkNumber($number) {
if ($number % 2 == 0) {
return "偶数です";
} else {
return "奇数です";
}
}
// 関数の呼び出し
echo checkNumber(4); // 偶数です
echo checkNumber(7); // 奇数です
?>
このコードのポイント
引数$numberを受け取り、それが偶数か奇数かを判定します。
returnで判定結果を返し、呼び出し元でその結果を使えます。
なので、コードでは、
echo checkNumber(4);
としたとき偶数という結果
echo checkNumber(7);
としたとき奇数という結果が得られます。
実践的なプロジェクト
複数の商品の合計金額を計算するプログラム
<?php
function calculateTotal($prices) {
$total = 0;
foreach ($prices as $price) {
$total += $price;
}
return $total;
}
// 商品価格のリスト
$items = [500, 1200, 800, 300];
// 合計を計算
$total = calculateTotal($items);
echo "商品の合計金額は " . $total . " 円です。";
?>
それではこのコードを詳しく見てみましょう!
合計金額を計算するという意味のcalculateTotalを定義
引数として$prices(価格リスト)を受け取る
!ワンポイント!重要な部分!
$total = 0;について
初期値で初期化しておく!
$total = 0;
で最初に0を代入しておき、ここに商品の金額を少しずつ足していきます
※初期化をしなければ、$totalに格納されている値が不明な状態で処理が始まってしまう可能性があり危険です!
変数は使用前に適切な初期値を設定することが良いプログラミングの習慣です!
foreach ($prices as $price)
foreachループを使い、$prices(価格のリスト)の中にある1つ1つの値を順番に処理します。
$priceという変数に、1つ目、2つ目…とリストの要素が順番に入ります。
$total += $price;
ループの中で、$priceの値を$totalに足し算します。
例えば、最初に$totalは0なので、最初の値(500)を足し、次に1200を足し…と繰り返します。
return $total;
すべての値を足し終わったら、最終的な合計金額($total)を呼び出し元に返します。
合計の計算
$total = calculateTotal($items);
calculateTotal($items)
さっき定義したcalculateTotal関数を呼び出しています。
$items(商品の価格リスト)を関数に渡し、その結果(合計金額)を$totalという変数に入れています。
最後に $totalの値を呼び出し結果を表示します
その為次のコードの実行結果は次のようになります
echo "商品の合計金額は " . $total . " 円です。";
商品の合計金額は 2800 円です。
関数を使うメリット
再利用性: 一度作った関数を繰り返し使える。
可読性: 長いコードを短い単位に分割し、理解しやすくする。
メンテナンス性: 問題が発生した場合、関数内のコードだけ修正すれば済む。
構造化: プログラム全体を整理しやすくなる。
以上、関数についての簡単なまとめでした。
この情報は役に立ちましたか?
カテゴリー:
- #関数基礎