首页 > 后端开发 > php教程 > 一段代码不明白,求解,谢谢

一段代码不明白,求解,谢谢

WBOY
发布: 2016-06-23 14:39:28
原创
769 人浏览过

一段代码不明白,求解,谢谢
如下代码
class foo {
    var $bar = 'I am bar.';
}

$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo "{$foo->$bar}\n";
echo "{$foo->$baz[1]}\n";
?>

输出结果:
I am bar. I am bar. 
问1: 在程序中,已经使用了 \n换行,为什么输出的结果内,没有换行,而是做一行的
问2: {$foo->$bar} 输出的是类foo里的变量bar  这个理解的
     {$foo->$baz[1]} 这段不理解,为什么也输出了 I am bar ,类foo内不包含有baz,求解
谢谢!


回复讨论(解决方案)

<?phpclass foo {    var $bar = 'I am bar.';}$foo = new foo();$foo->$bar = "test\n";echo $foo->$bar;?>
登录后复制

<?PHPclass abc{	public static $i=0;	public static function out(){		echo self::$i;	}}echo abc::out();echo '<br>','<br>';abc::$i=3;echo abc::out();
登录后复制

1、\n 是文本换行
才是 html 换行
2、因为 $baz[1] 的值为 bar ($baz = array('foo', ' bar', 'baz', 'quux');)
其实你并没有理解 $foo->$bar 只不过碰巧 $bar 的 bar 与类属性 bar 同名而已
弄清楚 变量的变量 才是真谛

你在?$bar?值的?候需要用?象,例如
$foo->bar="??";

<?PHPclass foo {    public $bar = 'I am bar.';}$foo = new foo();$foo->bar = "test\n";echo $foo->bar;
登录后复制

谢谢,理解了

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板