「PHP/入門/関数とは」の版間の差分

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

回編集