global问题

Cain 2003-07-11 09:56:06
程序一:
<?
function test($a=0,$b=0,$c=0)
{
while ($a<$b){
$d=$a+$b;
global $c; /*注意这行*/
$c=$c+$d;
echo $c;
echo "<br>";
return $c;
}
}
test(1,2);
test(1,2);
?>
结果:
3
6

程序二:
<?
global $c;/*还有这行*/
function test($a=0,$b=0,$c=0)
{
while ($a<$b){
$d=$a+$b;
$c=$c+$d;
echo $c;
echo "<br>";
return $c;
}
}
test(1,2);
test(1,2);
?>
结果:
3
3

请问在function外定义全局变量和在function里定义有什么区别?
...全文
23 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrsun 2003-07-11
  • 打赏
  • 举报
回复
$c为局部变量
函数中有声明了global $c;
当在函数中声明了global $c;
$c才可用
edward0716 2003-07-11
  • 打赏
  • 举报
回复
全局都成了公有和私有的关系了。
global VS public(private)
呵呵~~
Cain 2003-07-11
  • 打赏
  • 举报
回复
是不是应该在程序二中加上
$globals $c;
Cain 2003-07-11
  • 打赏
  • 举报
回复
那我应该如何在程序二中申明使用他呢
xuzuning 2003-07-11
  • 打赏
  • 举报
回复
程序一
function test($a=0,$b=0,$c=0)
$c为局部变量
函数中有声明了global $c; 表示使用全局的$c而不是使用函数的参数$c
这一点你可以从
test(1,2,5);
test(1,2,9);
看到,尽管我给了第三个参数,但对结果毫无影响

程序二
虽然定义了全局变量$c,但函数中并没有声明使用他
xizi2002 2003-07-11
  • 打赏
  • 举报
回复
按定义来说应是一样的.
就是定义的次序有所不同,有点糊涂了谁来补充一下.
想想着.
YOLOv4是最近推出的基于深度学习的端到端实时目标检测方法。利用YOLOv4训练完自己的数据集后,如何向大众展示并提供落地的服务呢?  本课程将提供相应的解决方案,具体讲述使用Web应用程序框架Flask进行YOLOv4的Web应用部署。用户可通过客户端浏览器上传图片,经服务器处理后返回图片检测数据并在浏览器中绘制检测结果。  本课程的YOLOv4使用AlexyAB/darknet,在Ubuntu系统上做项目演示,并提供在Windows系统上的部署方式文档。 本项目采取前后端分离的系统架构和开发方式,减少前后端的耦合。课程包括:YOLOv4的Flask部署系统架构、YOLOv4的安装及动态链接库的编译、 Flask的安装、YOLOv4的检测API接口python代码、 Flask的服务程序的python代码、前端html代码、CSS代码、Javascript代码、系统部署演示、生产环境部署建议、Windows系统上部署的区别等。 除本课程外,本人推出了有关YOLOv4目标检测的系列课程。请持续关注该系列的其它视频课程,包括: 《YOLOv4目标检测实战:训练自己的数据集》(Ubuntu版) 《YOLOv4目标检测实战:人脸口罩佩戴识别》(Ubuntu版) 《YOLOv4目标检测实战:中国交通标志识别》(Ubuntu版) 《YOLOv4目标检测:原理与源码解析》(Ubuntu版) 《YOLOv4-tiny目标检测实战:训练自己的数据集》(Ubuntu版) 《Windows版YOLOv4目标检测实战:训练自己的数据集》 《Windows版YOLOv4目标检测实战:人脸口罩佩戴识别》 《Windows版YOLOv4目标检测实战:中国交通标志识别》 《Windows版YOLOv4目标检测:原理与源码解析》 《Windows版YOLOv4-tiny目标检测实战:训练自己的数据集》

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧