»
游客:
注册
|
登录
|
搜索
|
统计
|
帮助
喜悦国际村
»
php基础编程
» 一个简单的代码理解不过来(不要笑,俺是新手)
喜悦证交所已经关闭
上一主题
下一主题
标题:
[代码]
一个简单的代码理解不过来(不要笑,俺是新手)
hjx812
新手上路
UID 112538
精华 0
积分 9
帖子 5
金钱 9 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-3-3
状态 离线
[广告]:
q
m
一个简单的代码理解不过来(不要笑,俺是新手)
<?php
function foo() {
static $a;
$a++;
echo "$a\n";
unset($a);
}
foo();
foo();
foo();
?>
输出:
1
2
3
为什么是1 2 3呢? unset()不是把变量销毁掉了吗,那应该是1 1 1啊?
2008-3-7 09:14 AM
#1
小胖胖
注册会员
UID 84430
精华 0
积分 199
帖子 278
金钱 199 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-12-7
状态 离线
[推荐阅读]
数组
static $a;
去掉这行就是 111了
2008-3-7 09:42 AM
#2
hjx812
新手上路
UID 112538
精华 0
积分 9
帖子 5
金钱 9 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-3-3
状态 离线
[推荐阅读]
LAMP培训专家,打造LAMP培训第一品牌!
我知道去掉static $a后就是111,但是好像留着也应该是一样的结果啊?
2008-3-7 09:43 AM
#3
小胖胖
注册会员
UID 84430
精华 0
积分 199
帖子 278
金钱 199 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-12-7
状态 离线
[推荐阅读]
终于明白了
你真笨,让我教教你吧
static $a;
说明 $a 是一个全局变量
unset($a)销毁的是一个函数内的局部变量
实际上这是两个变量,虽然它们的名字都是 a
明白了吗,小妖?
2008-3-7 09:46 AM
#4
小胖胖
注册会员
UID 84430
精华 0
积分 199
帖子 278
金钱 199 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-12-7
状态 离线
[推荐阅读]
window 下apache 添加 虚拟服务器
而且它们在服务器的内存中,也是占用两块不同的存储区域的
2008-3-7 09:47 AM
#5
hjx812
新手上路
UID 112538
精华 0
积分 9
帖子 5
金钱 9 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-3-3
状态 离线
[推荐阅读]
进来讨论一下
哦,明白了,谢谢你
2008-3-7 09:50 AM
#6
可打印版本
|
推荐给朋友
|
订阅主题
|
收藏主题
|
开通个人空间
论坛跳转 ...
技术论坛
> php基础编程
> PHP高级编程
> XML/HTML/CSS/Js
> 代码共享
> 建站讨论
> 喜悦原创
> 开源程序论坛
> ECShop官方技术论坛
> LAMP进阶文章
> JAVA/C/C++
> Windows/软硬件
> linux技术
> 数据库技术
非技术论坛
> 娱乐乐园
> 招聘&求职
> 跳蚤市场
> 广告时间
> 联盟项目组
> 站务问题
Powered by
Discuz!
6.1.0
© 2001-2010
Comsenz Inc.
Processed in 0.023017 second(s), 6 queries
(
冀ICP备05009913号
)
管理员:
sadly 邮箱/MSN: sadly@phpx.com QQ:824008
(长隐)
清除 Cookies
- -
Archiver
-
WAP