2013-05-17 64 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

并且'''不一定比'''慢......你很难察觉毫秒节省一天 –