23,093
回編集
(pre -> source) |
(ユーザー定義関数) |
||
== PHPにおけるユーザー定義関数の基本 ==
PHPにかぎらずプログラミング言語全般において一般に「関数」(かんすう)とは、行いたい処理をひとまとめにして、あとでそれを簡単に実行できるようにするためのものである。▼
PHPには、あらかじめ、よく使われる関数がいくつか用意されており組み込まれているが、それとは別に、ユーザーが独自の関数を定義することもできる。
▲関数とは、行いたい処理をひとまとめにして、あとでそれを簡単に実行できるようにするためのものである。
本ページでは以降、特にことわらないかぎり、「関数」と言った場合は、ユーザー定義関数のことであるとする。
;ユーザー定義関数の例:
<syntaxhighlight lang="PHP">
<?php
f();
}
?>
</syntaxhighlight>
ユーザー定義関数は、
関数を定義するには、functionを使い、その中に、処理をかく。▼
(ちなみに、PHPはコードをすべてメモリに読み込んでから実行するため、関数をプログラムのどこに書いても▼
関数を使うことができる。)▼
これを実行すると、▼
つまり
a▼
<syntaxhighlight lang="PHP">
function 関数名(引数) {
// させたい処理をカッコ内に書く
}
</syntaxhighlight>
という書式である。(※ 余談だが、JavaScript でも関数の定義には function 宣言が必要になる。)
PHPで関数を実行させたい場合には、phpタグ内で関数の名前(上記コードでは「f」が名前)を書くだけで、{ }カッコ内の処理を行ってくれる。
「引数」(ひきすう)とは、関数が呼び出されたときに、呼び出し元から受け取る情報のことです。
▲(ちなみに、PHPはコードをすべてメモリに読み込んでから実行するため、関数をプログラムのどこに書いても
▲関数を使うことができる。)
b▼
▲ a
▲ b
のように表示される。
関数は値を返すこともできる。
例えば、
<
<?php
$num = pi();
print $num;
?>
</syntaxhighlight>
pi()
これを参考に、単純に1を返す関数を作る。
<
<?php
$a = f();
}
?>
</syntaxhighlight>
関数が値を返すようにするには、return 命令を使う。
例:
<
<?php
?>
</syntaxhighlight>
引数は、括弧のなかへ記述する。
このような、変数の使える範囲のことを、スコープ(Scope) と呼ぶ。
<
<?php
$i = 10;
print "グローバル変数{$i}";
function f() {
$i = 99;
print "ローカル変数{$i}";
}
?>
</syntaxhighlight>
このとき、f() の中に、変数 $i があり、グローバルスコープにも、変数 $i がある。
例:
<
<?php
$n = 99;
}
?>
</syntaxhighlight>
関数 f() の一行目の global に注目してほしい。
|
回編集