2013-05-17 93 views
1

我很好奇,爲什麼變量沒有使用功能迴盪......(如果是有道理的笑..)PHP函數玩遊戲

function name(){ 
    echo "$info->fullname"; 
} 

當我再使用

<?php name(); ?> 

上的任何地方withing腳本,它是完全空白的,但如果我刪除的變量,並把靜態文本,它呼應的出來就好了......

它正常工作,不使用它作爲一個功能,它呼應的「李四「......

不太確定爲什麼它不起作用?大聲笑

任何想法傢伙?

+1

答案是'variable scope' - http://www.php.net/manual/en/language.variables.scope.php –

回答

0

是的MarkBaker是對的。你應該使用global。像這樣的東西。

function name(){ 
    global $info; 

    echo $info->fullname; 
} 

或者傳遞變量來像這樣工作。

function name($info){ 
    global $info; 

    echo $info->fullname; 
} 

使用

<?php name($info); ?> 

和一個建議這是不是在所有重要:"慢於'嘗試使用僅在需要"

+0

謝謝各位!一直到現在我從未想過的事情。偉大的幫助!再次感謝! –

+0

不建議使用'global'作爲解決方案....將$ info作爲函數的參數傳遞給函數 –

+0

並且'''不一定比'''慢......你很難察覺毫秒節省一天 –