- PHPが気になっている人
- PHPを勉強し始めたばかりの人
- PHP初級技術者認定試験を受験しようと思っている人
皆さん、新年あけましておめでとうございます!
Toyです!
久しぶりにPHP技術者認定初級試験に向けた勉強を行っていきたいと思います。
前回は、『配列の操作』について勉強しましたね。
本日のテーマは『関数』についてです。
関数の定義(宣言)
関数とは、使用頻度の高い処理をまとめて記述したもので、最初から定義されているもの(組み込み関数)とユーザーが独自に定義したもの(独自関数)の2種類があります。
独自関数を定義する場合は、functionキーワードを利用して以下のように記述します。
function 関数名 (引数) {
// 処理内容
}
functionキーワードの後に関数名を、そしてその後の括弧「()」内に引数を変数として指定します。引数を必要としない場合は括弧「()」のみ記述します。また、引数が指定されていない場合にデフォルト値を使用することもできます。
引数のデフォルト値を指定する方法を以下に記述します。
function 関数名 (引数=デフォルト値) {
// 処理内容
}
引数には関数呼び出し時に渡される値を格納するために変数を指定する必要があります。したがって、特定の数値や文字列などの値を引数として指定することはできません。
関数はコードの再利用性や作業効率、保守性を高めるために利用されます。
関数の命名規則と呼び出し方
関数の命名規則は変数の命名規則と同様です。
- 先頭の文字はアルファベット、またはアンダースコア「_」
- 2文字目以降は、アルファベット、数字、アンダースコア「_」のみ
関数名の大文字と小文字は区別されません。
関数を呼び出す時は、
関数名(引数1(, 引数2, 引数3, …));
と記述します。
このように関数を利用する際の特別な宣言は必要ありませんが、外部ファイルに定義された関数を使用する場合は、include文やrequire文で宣言する必要があります。
関数の返り値
関数から計算結果などの値を返したい場合は、return文を利用します。
return文は同一関数内に複数記述することができますが、1回の呼び出しに対して実行されるreturn文は1つです。
値を返す必要のない関数ではreturn文を省略することができます。
複数の値を返したい場合は、それらの値を1つの配列に格納し、配列を返します。
変数のスコープ
変数には、有効範囲(スコープ)があります。
関数の外部で宣言された変数をグローバル変数、関数の内部で宣言された変数をローカル変数といいます。
通常、グローバル変数は関数の外部でのみ有効ですが、下記の2つの方法を用いることで全ての関数内で使用することができます。
<方法1:globalキーワードを使用>
$name = "Taro";
changeName();
function changeName($name) {
// global+$変数名を記述
global $name;
print "Hello, $name"; // 「Hello, Taro」と表示される。
}
<方法2:$GLOBALS配列を使用>
$name = "Taro";
changeName();
function changeName() {
// $GLOBALS['変数名']を記述
print "Hello, $GLOBALS['name']"; // 「Hello, Taro」と表示される。
}
変数のスコープ まとめ
終わりに
今回は「関数」について勉強しました。
次回は、「オブジェクトの操作」についてです。お楽しみに〜
# To be continued
— 参考 —
この記事はこれらの本を参考にしています。