原來 php variable scope 是這樣阿!!
太久沒寫程式了.我一直以為宣告再外面的變數就是全域變數. 看來我錯了. 只好寫一下筆記提醒一下自己. 先來個錯誤示範:
1 2 3 4 5 6 | $foo = "bar"; function foobar() { if ($foo == "bar") { //.... do something } } |
上面的範例 $foo 不是 “bar” 所以會沒辦法進去那個 if 判斷式. 要改寫為下面才正確 :
1 2 3 4 5 6 7 | $foo = "bar"; function foobar() { global $foo; if ($foo == "bar") { //.... do something } } |
我debug很久才發現. @@”