PHP function文の使い方

この記事のポイント

PHPで独自の処理をまとめて再利用可能にする関数の作成方法を習得できます。以下の3つのポイントを押さえることで、効率的なプログラミングが可能になります。

  • function文を使った基本的な関数定義と呼び出しの方法
  • 引数と戻り値を活用した柔軟な処理の実装テクニック
  • 実際の開発現場で使える実用的なコード例とベストプラクティス

以下で詳しく解説していきますので、一緒に学習を進めていきましょう。

目次

function文とは?

function文は、特定の処理をひとまとまりにして名前をつけ、何度でも呼び出せるようにする機能です。関数を使うことで、同じコードを繰り返し書く必要がなくなり、プログラムがより読みやすく保守しやすくなります。

例えば、計算処理やデータの変換処理など、よく使う機能を関数として定義しておけば、必要な時に関数名を呼び出すだけで実行できます。関数は引数を受け取って処理を行い、結果を戻り値として返すことができるため、さまざまな場面で柔軟に活用できる機能です。

【関連】
PHPをもっと詳しく学ぶならpaizaラーニング

基本構文

function文の基本的な書き方は、function文を使って関数名と処理内容を定義し、必要に応じて引数と戻り値を設定します。最もシンプルな形では引数も戻り値もない関数から始まり、段階的に複雑な処理を組み込んでいくことができます。関数を定義した後は、関数名に括弧をつけて呼び出すことで実行されます。以下に基本的なパターンを示します。

<?php function say_hello() { echo "こんにちは、ライオンです!"; } say_hello(); ?>

出力結果

こんにちは、ライオンです!

多次元配列を再帰的にカウントする場合の構文も確認しておきましょう。

<?php function greet_animal($name) { return "おはよう、" . $name . "さん!"; } echo greet_animal("パンダ"); ?>

出力結果

おはよう、パンダさん!

実用例

実際の開発現場でよく使われるfunction文の実用例を、具体的なサンプルコードとともに紹介します。これらの例では、数値計算、文字列処理、配列操作、条件分岐など、さまざまな場面で活用できる関数パターンを取り上げています。動物の名前や特徴を使った親しみやすい例を通じて、関数の実用性と柔軟性を体感できるでしょう。

これらのサンプルを参考に、自分のプログラムに応用してみてください。

動物の年齢計算機能

ペットの年齢を人間の年齢に換算する関数の例です。犬や猫の年齢計算でよく使われる係数を使って、動物の実年齢から人間年齢相当を算出します。引数で動物の年齢を受け取り、計算結果を整数で返します。

<?php function calculate_human_age($animal_age) { $human_age = $animal_age * 7; return $human_age; } echo "ネコの3歳は人間の" . calculate_human_age(3) . "歳相当です"; ?>

出力結果

ネコの3歳は人間の21歳相当です

動物の特徴判定機能

動物の種類に応じて、その特徴を文字列で返す関数の例です。switch文を使って複数の動物種に対応し、それぞれの代表的な特徴を返します。該当しない動物の場合は汎用的なメッセージを表示します。

<?php function get_animal_feature($animal) { switch($animal) { case "ライオン": return "百獣の王"; case "ウサギ": return "長い耳が特徴"; default: return "かわいい動物"; } } echo get_animal_feature("ライオン"); ?>

出力結果

百獣の王

動物のえさ代計算機能

動物の種類と日数を指定して、必要なえさ代を計算する関数です。動物ごとに1日あたりのえさ代を設定し、指定された日数分の合計金額を算出します。実用的な計算処理の例として活用できます。

<?php function calculate_feed_cost($animal, $days) { $daily_cost = ($animal == "ゾウ") ? 5000 : 500; return $daily_cost * $days; } echo "ゾウの7日分のえさ代: " . calculate_feed_cost("ゾウ", 7) . "円"; ?>

出力結果

ゾウの7日分のえさ代: 35000円

動物名リスト整形機能

複数の動物名が入った配列を受け取り、カンマ区切りの読みやすい文字列に整形する関数の例です。配列操作とstring処理を組み合わせた実用的な例で、データ表示の際によく使われるパターンです。

<?php function format_animal_list($animals) { return "動物: " . implode("、", $animals); } $zoo_animals = ["トラ", "キリン", "サル"]; echo format_animal_list($zoo_animals); ?>

出力結果

動物: トラ、キリン、サル

動物の鳴き声生成機能

動物の名前を受け取って、その動物らしい鳴き声を生成する関数です。条件分岐を使って動物ごとに異なる鳴き声を設定し、楽しみながら関数の概念を学べる例となっています。

<?php function make_animal_sound($animal) { $sounds = ["イヌ" => "ワンワン", "ネコ" => "ニャーニャー"]; return isset($sounds[$animal]) ? $sounds[$animal] : "???"; } echo "イヌの鳴き声: " . make_animal_sound("イヌ"); ?>

出力結果

イヌの鳴き声: ワンワン

動物の体重判定機能

動物の体重を受け取って、大きさのカテゴリを判定する関数の例です。数値の範囲に応じて小型、中型、大型の判定を行い、条件分岐の実用例として理解しやすい構成になっています。

<?php function judge_animal_size($weight) { if ($weight < 10) return "小型動物"; if ($weight < 100) return "中型動物"; return "大型動物"; } echo "体重50kgの動物: " . judge_animal_size(50); ?>

出力結果

体重50kgの動物: 中型動物

動物園の入場料計算機能

年齢に応じて動物園の入場料を計算する関数です。子供、大人、シニアの料金区分を設定し、実際のビジネスロジックに近い処理を関数として実装した例です。料金計算の自動化に活用できます。

<?php function calculate_zoo_fee($age) { if ($age < 12) return 300; if ($age >= 65) return 500; return 800; } echo "10歳の入場料: " . calculate_zoo_fee(10) . "円"; ?>

出力結果

10歳の入場料: 300円

動物の睡眠時間情報の検索機能

動物の種類に応じて、その動物の平均睡眠時間を返す関数の例です。連想配列を使って動物ごとのデータを管理し、情報検索機能として実装しています。データベース的な用途にも応用可能な構造です。

<?php function get_sleep_hours($animal) { $sleep_data = ["コアラ" => 22, "ネコ" => 16, "イヌ" => 12]; return $sleep_data[$animal] ?? 8; } echo "コアラの睡眠時間: " . get_sleep_hours("コアラ") . "時間"; ?>

出力結果

コアラの睡眠時間: 22時間

まとめ

function文は、効率的なプログラミングを実現するための重要な機能です。基本的な構文から実用的なサンプルコードまで学習することで、コードの再利用性と保守性を大幅に向上させることができます。

function文の活躍する場面

  • Webアプリケーションでのデータ処理や計算機能の実装
  • データベースとの連携処理やAPI通信の共通処理化
  • フォーム入力値の検証やセキュリティ対策の標準化

重要なポイント

  • 関数名は処理内容がわかりやすい名前を付けること
  • 引数と戻り値を適切に設計して柔軟性を持たせること
  • 一つの関数は一つの機能に集中させて単純明快にすること

これらの原則を守ることで、他の開発者にも理解しやすく、長期間にわたって保守可能なコードを作成できます。function文をマスターして、より効率的なプログラミングを実践していきましょう。継続的な学習と実践を通じて、関数設計のスキルを向上させることが重要です。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. リファレンス
  3. PHPのリファレンス記事一覧
  4. PHP function文の使い方