「PHP/入門/関数とは」の版間の差分
< PHP
削除された内容 追加された内容
PHPにおける関数 |
編集の要約なし |
||
2 行 | 2 行 | ||
関数とは、行いたい処理をひとまとめにして、あとでそれを簡単に実行できるようにするためのものである。 |
関数とは、行いたい処理をひとまとめにして、あとでそれを簡単に実行できるようにするためのものである。 |
||
例: |
例: |
||
<pre> |
<pre> |
||
8 行 | 9 行 | ||
function f($n){ |
function f($n){ |
||
print "a<br>"; |
|||
print "b<br>" |
|||
} |
} |
||
?> |
?> |
||
17 行 | 18 行 | ||
関数を定義するには、functionを使い、その中に、処理をかく。 |
関数を定義するには、functionを使い、その中に、処理をかく。 |
||
そうすれば、関数の名前を書くだけで、中の処理を行ってくれる。 |
そうすれば、関数の名前を書くだけで、中の処理を行ってくれる。 |
||
(ちなみに、PHPはコードをすべてメモリに読み込んでから実行するため、プログラムのどこに書いても |
(ちなみに、PHPはコードをすべてメモリに読み込んでから実行するため、関数をプログラムのどこに書いても |
||
関数を使うことができる。) |
関数を使うことができる。) |
||
これを実行すると、 |
これを実行すると、 |
||
a |
a |
||
b |
b |
||
のように表示される。 |
のように表示される。 |
||
50 行 | 53 行 | ||
function f(){ |
function f(){ |
||
return 1; |
|||
} |
} |
||
?> |
?> |
||
72 行 | 75 行 | ||
function add($i, $j){ |
function add($i, $j){ |
||
return $i + $j; |
|||
} |
} |
||
85 行 | 88 行 | ||
関数の中で定義した変数をローカル変数と呼ぶ。 |
関数の中で定義した変数をローカル変数と呼ぶ。 |
||
通常、グローバル変数を関数内で使用することはでき |
通常、グローバル変数を関数内で使用することはできない。 |
||
また、ローカル変数を関数外で使用することはでき |
また、ローカル変数を関数外で使用することはできない。 |
||
このような、変数の使える範囲のことを、スコープ(Scope) と呼 |
このような、変数の使える範囲のことを、スコープ(Scope) と呼ぶ。 |
||
<pre> |
<pre> |
||
96 行 | 99 行 | ||
function f(){ |
function f(){ |
||
$i = 99; |
|||
print "ローカル変数{$i}"; |
|||
} |
} |
||
?> |
?> |
||
</pre> |
</pre> |
||
このとき、f() の中に、変数 $i があり、グローバルスコープにも、変数 $i があ |
このとき、f() の中に、変数 $i があり、グローバルスコープにも、変数 $i がある。 |
||
しかし、これらは、別物で |
しかし、これらは、別物である。 |
||
しかし、関数内で、グローバル変数を使用することができ |
しかし、関数内で、グローバル変数を使用することができる。 |
||
例: |
例: |
||
115 行 | 118 行 | ||
function f() { |
function f() { |
||
global $s; |
|||
$i = $s * $s; |
|||
print "sの二乗は{$i}です。"; |
|||
} |
} |
||
?> |
?> |
||
</pre> |
</pre> |
||
関数 f() の一行目の global に注目して |
関数 f() の一行目の global に注目してほしい。 |
||
こうすることにより、グローバル変数を関数内で使用することができ |
こうすることにより、グローバル変数を関数内で使用することができるようになる。 |
2013年9月16日 (月) 05:23時点における版
PHPにおける関数の基本
関数とは、行いたい処理をひとまとめにして、あとでそれを簡単に実行できるようにするためのものである。
例:
<?php f(); function f($n){ print "a<br>"; print "b<br>" } ?>
関数は、このように使う。 関数を定義するには、functionを使い、その中に、処理をかく。 そうすれば、関数の名前を書くだけで、中の処理を行ってくれる。 (ちなみに、PHPはコードをすべてメモリに読み込んでから実行するため、関数をプログラムのどこに書いても 関数を使うことができる。)
これを実行すると、
a
b
のように表示される。
値を返す関数
関数は値を返すこともできる。 例えば、
<?php $num = pi(); print $num; ?>
pi() は、円周率を返す関数である。 これを参考に、単純に1を返す関数を作る。
<?php $a = f(); print $a; function f(){ return 1; } ?>
関数が値を返すようにするには、return 命令を使う。 その後に書いた値 (整数、実数、文字列) を返す。
これを実行すると、$a には 1が代入される。
引数をもつ関数
関数には引数を持たせることもできる。
例:
<?php print add(10, 99); function add($i, $j){ return $i + $j; } ?>
引数は、括弧のなかへ記述する。
変数のスコープ
関数の外で定義した変数をグローバル変数、 関数の中で定義した変数をローカル変数と呼ぶ。
通常、グローバル変数を関数内で使用することはできない。 また、ローカル変数を関数外で使用することはできない。
このような、変数の使える範囲のことを、スコープ(Scope) と呼ぶ。
<?php $i = 10; print "グローバル変数{$i}"; function f(){ $i = 99; print "ローカル変数{$i}"; } ?>
このとき、f() の中に、変数 $i があり、グローバルスコープにも、変数 $i がある。 しかし、これらは、別物である。
しかし、関数内で、グローバル変数を使用することができる。
例:
<?php $n = 99; f(); function f() { global $s; $i = $s * $s; print "sの二乗は{$i}です。"; } ?>
関数 f() の一行目の global に注目してほしい。 こうすることにより、グローバル変数を関数内で使用することができるようになる。