ユーザー定義関数が登場したところで、変数の有効範囲(スコープ)というものを意識する必要があります。

(独習PHPより抜粋)


■変数の有効範囲(スコープ)


・scope.php


<?php
$x=1;
function sample(){
$x++;
return $x;
}
print(sample());
?>


実行結果

1


1?

2ではなく1ですね。


最初の$xはグローバル変数(関数外の変数)で次の$xはローカル変数(関数内の変数)で

2つは全く別物のようです。

つまりユーザ定義関数内の[$x++;]は、変数の暗黙的な初期値である0に1を加算しているので、

結果として1が返されるとい訳です。

(独習PHPより抜粋)


・・・・・だってさ。