Home > Backend Development > PHP Tutorial > 一段代码不明白,求解,谢谢

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

WBOY
Release: 2016-06-23 14:39:28
Original
768 people have browsed it

一段代码不明白,求解,谢谢
如下代码
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;?>
Copy after login

<?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();
Copy after login

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;
Copy after login

谢谢,理解了

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template