« first day (1 day earlier)    last day (15 days later) » 

3:49 AM
諸所、みなさんの尽力に感謝します。
こちらで続けさせていただきます。

@ItagakiFumihiko
>それならHTML文書としての体裁でなければならないし、最初の行がHTTPヘッダと解釈されたりしちゃってたりするかもです。前のコメントのようにHTML文書の体裁にしてみてください。

理解しました。
ありがとうございます。

あらためて本題に戻らせてください。
func()でグローバル変数とした場合、func_2()以外でも$numをグローバル変数として参照できると認識していますが、合っていますでしょうか。
func()で定義した変数を任意の関数内でのみ使用する方法はありますか?
(この例ではfunc_2()内)
 
4:16 AM
@strees func()とfunc_2()の global $num; は、この関数内に現れる $num はグローバル変数として別途定義されている $num のことですよ、という宣言です。PHPの1行目の $num = 0; がその定義になります。
@strees func()で「定義」した変数は「関数スコープ」となり、その関数内でのみ参照できます。つまり他の関数からは参照できません。
このページで変数スコープを学んでください。
https://www.php.net/manual/ja/language.variables.scope.php
 
 
2 hours later…
6:33 AM
@ItagakiFumihiko
関数内での定義変数を他で使用するには、グローバル変数として定義するしかないのですね。
グロバール変数は関数外で定義するのだと思いますが、冒頭のグローバルスコープでの$num定義を削除しても、func_()の次のfunc_2()では値が出力されます。
これはfunc_()内でのglobal $num;のあとの定義をグローバル変数として認識しているのでしょうか?
 
7:18 AM
@strees $numを定義しないままfunc_2()を呼んだ場合$numはNULLとなります。だから echo $num は何も出力しません。そしてfunc()では $num に10が代入されますが、$num はグローバル変数として宣言されているので、ここで初めてグローバル変数$numが生じると考えれば良いかと。
 
7:52 AM
@ItagakiFumihiko
やはりそうですよね。
最初の回答をわたしが理解するまで補助いただいた形になったと思います。
ありがとうございました。
 

« first day (1 day earlier)    last day (15 days later) »