Home  >  Article  >  Backend Development  >  php变量访问 不懂

php变量访问 不懂

WBOY
WBOYOriginal
2016-06-13 13:47:39884browse

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;
}
?>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn