function裡面不吃外面的參數宣告?

有個好怪的問題
假設我宣告

$self = $_SERVER['PHP_SELF'];

然後我寫了一個function在下面

$self = $_SERVER['PHP_SELF'];

function report(){
    echo $self;
}

然後我再另一頁

report();

他會說

Undefined variable: self

我非得一定要在function 裡面宣告才行嗎?
這樣才可以運行:


function report(){
$self = $_SERVER['PHP_SELF'];

    echo $self;
}
阅读 2k
2 个回答
$self = $_SERVER['PHP_SELF'];

function report(){
    global $self;
    echo $self;
}

你要先搞懂问题的根本原因(php的作用域问题)。php的全局变量是不能直接在函数里直接访问的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题