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的原因,谢谢!
展开
 我来答
li361111523
2012-09-26 · TA获得超过229个赞
知道小有建树答主
回答量:145
采纳率:100%
帮助的人:109万
展开全部
<?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的详细介绍。这些都是基础,必须要弄懂的,加油吧。朋友
lifei6671
2012-09-26 · TA获得超过9228个赞
知道大有可为答主
回答量:3899
采纳率:25%
帮助的人:2771万
展开全部
在函数体内的时候, $A的作用域仅仅是在当前函数体内, 它无法访问函数体外$A的值.

但是当你设置了global以后, 变量会由局部变量升级为全局变量, 这个时候它会受外部变量的影响.

所以, 你在函数体内的赋值会失效, 转而会得到函数体外的$A的值!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
newchinays
2012-09-26 · TA获得超过1172个赞
知道小有建树答主
回答量:1238
采纳率:48%
帮助的人:422万
展开全部
应该是输出
Hello Hello

echo $A; //输出第一个Hello

print_A();//输出第二个Hello
print_A()方法中虽然定义的变量A,但是后又执行了global $A; 所以当前的A的值就是外部的A的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2012-09-26 · TA获得超过312个赞
知道小有建树答主
回答量:472
采纳率:0%
帮助的人:202万
展开全部
你最后一个输出的是整个函数,而函数内部有输出echo $A; 而$A是引用的函数外部的变量,输出的结果当然是Hello了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
q2369582jhwe
2012-09-26 · TA获得超过364个赞
知道小有建树答主
回答量:473
采纳率:0%
帮助的人:176万
展开全部
好吧,楼上正确...全局当你用global的时候,就是把当前的变量名称所对应的值给定义成了函数外面的$A在你这个函数执行到最后的时候,A的值就是global过来的了,如果说你改成先global再定义,那么A的值就是你所定义的了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式