3章関数
関数は、何らかのタスク(作業)を実行する名前付きのコードブロックを言い、与えられた値のセット(パラメータと呼ばれます)に基づいて動作したり、単一の値や配列に入れた値のセットを返すこともあります。関数は、何回呼び出されても、ページで1回コンパイルされるだけなので、コンパイル時間を節約します。またバグの修正は、タスクを実行する箇所すべてでなく、1箇所で済ませることができるので、コードへの信頼性が上がり、特定のタスクを実行するコードを分離するため、可読性も向上します。
本章では、関数呼び出しと関数定義の構文を紹介し、関数内の変数を管理する方法や関数への値の渡し方(値渡しと参照渡し)について見ていきます。また、可変関数や無名関数も取り上げます。
3.1 関数の呼び出し
PHPプログラムの関数には、組み込み関数(または拡張モジュールで導入される事実上の組み込み関数)やユーザ定義関数があります。どの場合も、同じように評価されます。
$someValue = function_name( [ parameter, ...] );
関数が必要とするパラメータの数は、関数によって異なります(後述するように、同じ関数でも数が異なることもあります)。関数に渡されるパラメータは、有効な式なら何でもかまいませんが、順番は関数の求める順番でなくてはいけません。順番が変わっても、関数は動作するかもしれませんがそれはたまたまで、基本的には「ガベージイン、ガベージアウト」*1です。関数のドキュメンテーションを読むと、その関数に渡すべきパラメータは何で、どんな値が返ってくるかがわかります。
*1 [監訳注]ゴミを入れれば、ゴミが出てくる。つまり、おかしな入力を与えると、おかしな出力しか得られない、ということ。 ...
Get プログラミングPHP 第4版 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.