>  기사  >  백엔드 개발  >  php变量访问 不懂

php变量访问 不懂

WBOY
WBOY원래의
2016-06-13 13:47:39922검색

php变量访问 不懂求助

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?php $my_var = "abc";
function my_fun() {
    echo $my_var;
}
my_fun();
?>


在函数内部为何不能访问函数外面的变量
函数内部的变量是局部变量
函数外面的是全局变量 按理说应该在函数内部能访问外面的变量
为何函数内部提示:the local variable $my_var may not have been initialized

求大牛高手帮忙解说下,不甚感激!

------解决方案--------------------

在函数内部为何不能访问函数外面的变量 ---可以方问函数外部的全局变量,
函数内部的变量是局部变量
函数外面的是全局变量 按理说应该在函数内部能访问外面的变量 --是可以访问的
为何函数内部提示:the local variable $my_var may not have been initialized

求大牛高手帮忙解说下,不甚感激!
$my_var = "abc";
global $my_var = "abc";
------解决方案--------------------
global $my_var;
$my_var = "abc";

探讨

引用:
在函数内部为何不能访问函数外面的变量 ---可以方问函数外部的全局变量,
函数内部的变量是局部变量
函数外面的是全局变量 按理说应该在函数内部能访问外面的变量 --是可以访问的
为何函数内部提示:the local variable $my_var may not have been initialized

求大牛高手帮忙解说下,不甚……

------解决方案--------------------
PHP code
<?php global $my_var;
$my_var='abc';

function my_fun() {
    global $my_var;
    echo $my_var;
}
my_fun();
?>
<br><font color="#e78608">------解决方案--------------------</font><br>你可以这么理解,函数内和函数外是两个世界,两个世界时间变量默认是不认识的,只有介绍了才有机会认识,介绍方法就是global。<br><br>
PHP code

<?php $a = 'abc';
function aaa() {
    echo $a; //这个你可以写成$GLOBALS['aa'], 也可以在这语句上面global $a;
}
?>
<br><font color="#e78608">------解决方案--------------------</font><br>要设置成全局变量的,
<br><font color="#e78608">------解决方案--------------------</font><br>我测式了成功后在发出来的代码。<br>
探讨

引用:
PHP code
global $my_var;
$my_var='abc';

function my_fun() {
global $my_var;
echo $my_var;
}
my_fun();
?>
第二行的global $my_var;有毛用啊?

------解决方案--------------------
在函数外面的变量前面+global 毛用不起
函数外面的变量就是全局变量了已经,+global有毛用
函数里面的变量加global才是全局变量,这样设计就是为了容易区分和理解,况且手册上例子举的的很明白
http://www.php.net/manual/zh/language.variables.scope.php
------解决方案--------------------

------解决方案--------------------
$a = 'abc';
function aaa() {
echo $a; //这个你可以写成$GLOBALS['aa'], 也可以在这语句上面global $a;
}
?>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.