php 学习系列: 变量的作用域

 1<?php
 2class SystemComponent{
 3    var $settings;
 4
 5    function getSettings()
 6    {        
 7        $settings['dbhost'= 'localhost';
 8        // more
 9        return $settings;
10    }
11}
12?>

这个代码有没有问题?
我认为 line 3 和 line 7 的 $settings 变量是不一样的,也就是说 line 3 这行代码有和没有一个样。为了验证这一点,写测试代码如下:

<?php
class SystemComponent{
    
var $settings;
    
    
function SystemComponent() {
        
$this->settings['dbhost'= 'hello';        
    }
    
    
function getSettings()
    {        
        
$settings['dbhost'= 'localhost';
        
// more
        return $settings;
    }
}

$settings = SystemComponent::getSettings();
print $settings['dbhost'. '<br/>';

$sc = new SystemComponent();
$set = $sc->getSettings();
print $set['dbhost'. '<br/>';
print $sc->settings['dbhost'. '<br/>';
?>

输出的结果是:
localhost
localhost
hello

基本证明了我的想法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值