PHP + MYSQL 入門ノートでの学び_3/30


スーパーグローバル変数

関数レベルのローカルスコープとグローバルスコープを持つ変数。

使用例

関数の中からグローバルスコープを呼び出す際に、関数内で'global $変数名'のように明示的に呼び出さなくいて済む。

$GLOBALS['変数名'] = '...'のように宣言する。
スーパーグローバル変数は値を辞書型で保存している。

static変数

staticを明示する場合

sample.php
function CountUp(){

 static $count = 0
 $count += 1
 reuturn $count

}

for($i=0;$i<3;$i++){
 $num = CountUp();
 echo $num.'回目|';
}

結果.

1回目|2回目

staticを明示しない場合

sample.php
function CountUp(){

 $count = 0
 $count += 1
 reuturn $count

}

for($i=0;$i<3;$i++){
 $num = CountUp();
 echo $num.'回目|';
}

結果.

0回目|0回目

変数の参照渡し, 値渡し

値渡し

sample.php

function oneUp($var) {

 $var += 1;


}

$num = 5;
oneUp($num);
echo $num;

結果.
5

参照渡し

sample.php

function oneUp(&$var) {

 $var += 1;


}

$num = 5;
oneUp($num);
echo $num

結果.
6