広告スペース(バナー)
🐘PHP レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 51 / 68
型を問わない汎用の関数
このレッスンでは、PHPが動的型付け言語であることを活かした汎用的な関数の書き方を学ぶことを目標にします。「PHP 動的型付け とは」で調べている方向けの内容です。
PHPは動的型付け言語なので、関数は基本的にどんな型の値でも受け取れます。「型を1つに決めない、汎用的な関数」を書くことで、数値にも文字列にも同じロジックを使い回せます。柔軟な反面、意図しない型が渡されてもエラーにならず不具合につながることもあります。
サンプルコードでは、larger($a, $b)という関数が、数値の比較にも文字列の比較にも同じロジックで対応しています。>演算子は数値同士なら大小を、文字列同士なら辞書順(アルファベット順)の比較を行うため、同じ関数のまま異なる型のデータに使い回せています。
初心者がよくつまずくのが、型を意識せずにコードを書いた結果、予期しない型変換が起きてしまうことです。型宣言を活用するとより安全になります。型宣言(strict_typesなど)を活用することで、動的型付けの柔軟さと安全性を両立できます。
実務の大規模開発では、declare(strict_types=1);という宣言を使って、暗黙の型変換を防ぐ書き方が広く採用されています。柔軟性と安全性のバランスを考えた設計が求められます。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではPHPを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
型を問わず使い回せる、便利な比較関数が作れるようになります。
型を問わず使い回せる、便利な比較関数が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)