本页主题: 问个问题,可能你们认为很简单。 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

stm2982
级别: 骑士


精华: 0
发帖: 47
威望: 46 点
金钱: 470 PHP
贡献值: 0 点
注册时间:2008-09-28
最后登录:2008-11-28

 问个问题,可能你们认为很简单。

前几天写PHP
$username="dddd";
function saveName()
{
   return $username;//这个$username有没有值(dddd)
}
我发现return $username时,这里的$username没有值,为什么

别人给了我一个方法,但是感觉不是太好

<?
$username = 'dddd';

function saveName() {
    global $username;
    if ($username) {
        return $username;
    } else {
        return false;
    }
}

echo saveName();
?>

难道一定要这样写吗?

http://08web.com.cn
顶端 Posted: 2008-10-06 17:31 | [楼 主]
stm2982
级别: 骑士


精华: 0
发帖: 47
威望: 46 点
金钱: 470 PHP
贡献值: 0 点
注册时间:2008-09-28
最后登录:2008-11-28

 

<?
$user = '孙同明';

function write_user($user) {
    return $user;
}

echo write_user($user);
?>
http://08web.com.cn
顶端 Posted: 2008-10-06 17:31 | 1 楼
easyleo
级别: 侠客


精华: 0
发帖: 15
威望: 15 点
金钱: 150 PHP
贡献值: 0 点
注册时间:2008-09-24
最后登录:2008-10-07

 

两种写法都可以,是变量作用域的问题
顶端 Posted: 2008-10-06 19:33 | 2 楼
stm2982
级别: 骑士


精华: 0
发帖: 47
威望: 46 点
金钱: 470 PHP
贡献值: 0 点
注册时间:2008-09-28
最后登录:2008-11-28

 

为什么这样写不行

$username="dddd";
function saveName()
{
   return $username;//这个$username有没有值(dddd)
}
http://08web.com.cn
顶端 Posted: 2008-10-07 08:11 | 3 楼
管理组人员
级别: 侠客


精华: 0
发帖: 8
威望: 8 点
金钱: 80 PHP
贡献值: 0 点
注册时间:2008-09-18
最后登录:2008-11-28

 

如2楼所说,是作用域的问题!
局部变量和全局变量的问题~~
顶端 Posted: 2008-10-07 08:45 | 4 楼
alexchang
级别: 圣骑士


精华: 0
发帖: 101
威望: 104 点
金钱: 1010 PHP
贡献值: 0 点
注册时间:2008-09-17
最后登录:2008-12-01

 

第二种方法中传的是形参,和之前定义的$user不是一回事,加油啊
人本是人,不必刻意去做人,世本是世,无须精心处世。
顶端 Posted: 2008-10-07 10:11 | 5 楼
帖子浏览记录 版块浏览记录
PHP100中文站论坛 » PHP 技术交流区

Total 0.027103(s) query 4, Time now is:12-02 02:09, Gzip disabled
Powered by PHPWind v6.3.2 PHP100 Code © 2003-08 PHP100 Corporation

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!QQ:925939(请直击主题)