喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: [代码] 一个简单的代码理解不过来(不要笑,俺是新手)  
 
hjx812
新手上路
Rank: 1



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
查看资料  发短消息  顶部
 
小胖胖
注册会员
Rank: 2


UID 84430
精华 0
积分 199
帖子 278
金钱 199 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-12-7
状态 离线
[推荐阅读] 数组
static $a;

去掉这行就是 111了
2008-3-7 09:42 AM#2
查看资料  发短消息  顶部
 
hjx812
新手上路
Rank: 1



UID 112538
精华 0
积分 9
帖子 5
金钱 9 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-3-3
状态 离线
[推荐阅读] LAMP培训专家,打造LAMP培训第一品牌!
我知道去掉static $a后就是111,但是好像留着也应该是一样的结果啊?
2008-3-7 09:43 AM#3
查看资料  发短消息  顶部
 
小胖胖
注册会员
Rank: 2


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
查看资料  发短消息  顶部
 
小胖胖
注册会员
Rank: 2


UID 84430
精华 0
积分 199
帖子 278
金钱 199 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-12-7
状态 离线
[推荐阅读] window 下apache 添加 虚拟服务器
而且它们在服务器的内存中,也是占用两块不同的存储区域的
2008-3-7 09:47 AM#5
查看资料  发短消息  顶部
 
hjx812
新手上路
Rank: 1



UID 112538
精华 0
积分 9
帖子 5
金钱 9 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2008-3-3
状态 离线
[推荐阅读] 进来讨论一下
哦,明白了,谢谢你
2008-3-7 09:50 AM#6
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




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