PHP选择题
以下代码执行结果为:()<?php$A="Hello";functionprint_A(){$A="phpmysql!!";global$A;echo$A;}echo$A...
以下代码执行结果为:( )
<?php
$A="Hello ";
function print_A()
{
$A = "php mysql !!";
global $A;
echo $A;
}
echo $A;
print_A();
?>
A Hello
B php mysql !!
C Hello Hello
D Hello php mysql !!
请详细解释后一个输出Hello的原因,谢谢! 展开
<?php
$A="Hello ";
function print_A()
{
$A = "php mysql !!";
global $A;
echo $A;
}
echo $A;
print_A();
?>
A Hello
B php mysql !!
C Hello Hello
D Hello php mysql !!
请详细解释后一个输出Hello的原因,谢谢! 展开
6个回答
展开全部
<?php
$A="Hello ";
function print_A()
{
$A = "php mysql !!";//这个$A只是函数体内部定义的,叫做局部变量,不影响外面
global $A;//此处是关键,global关键词为全局的意思,就是把全局变量(函数体外的$A)引入了函数体内,此时$A的是就是$A="Hello ";
echo $A;//所以输出Hello
}
echo $A;//这个$A的值是上面定义的$A="Hello ";的值,输出Hello,你应该懂吧。
print_A();//调用print_A(),进入函数体内部执行
?>
提示:这到题主要考察你对global的理解,实在不懂就去百度一下php global,会出来很多对global的详细介绍。这些都是基础,必须要弄懂的,加油吧。朋友
$A="Hello ";
function print_A()
{
$A = "php mysql !!";//这个$A只是函数体内部定义的,叫做局部变量,不影响外面
global $A;//此处是关键,global关键词为全局的意思,就是把全局变量(函数体外的$A)引入了函数体内,此时$A的是就是$A="Hello ";
echo $A;//所以输出Hello
}
echo $A;//这个$A的值是上面定义的$A="Hello ";的值,输出Hello,你应该懂吧。
print_A();//调用print_A(),进入函数体内部执行
?>
提示:这到题主要考察你对global的理解,实在不懂就去百度一下php global,会出来很多对global的详细介绍。这些都是基础,必须要弄懂的,加油吧。朋友
展开全部
在函数体内的时候, $A的作用域仅仅是在当前函数体内, 它无法访问函数体外$A的值.
但是当你设置了global以后, 变量会由局部变量升级为全局变量, 这个时候它会受外部变量的影响.
所以, 你在函数体内的赋值会失效, 转而会得到函数体外的$A的值!
但是当你设置了global以后, 变量会由局部变量升级为全局变量, 这个时候它会受外部变量的影响.
所以, 你在函数体内的赋值会失效, 转而会得到函数体外的$A的值!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是输出
Hello Hello
echo $A; //输出第一个Hello
print_A();//输出第二个Hello
print_A()方法中虽然定义的变量A,但是后又执行了global $A; 所以当前的A的值就是外部的A的值
Hello Hello
echo $A; //输出第一个Hello
print_A();//输出第二个Hello
print_A()方法中虽然定义的变量A,但是后又执行了global $A; 所以当前的A的值就是外部的A的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你最后一个输出的是整个函数,而函数内部有输出echo $A; 而$A是引用的函数外部的变量,输出的结果当然是Hello了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好吧,楼上正确...全局当你用global的时候,就是把当前的变量名称所对应的值给定义成了函数外面的$A在你这个函数执行到最后的时候,A的值就是global过来的了,如果说你改成先global再定义,那么A的值就是你所定义的了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询