Heim >Backend-Entwicklung >PHP-Tutorial >一段代码不明白,求解,谢谢

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

WBOY
WBOYOriginal
2016-06-23 14:39:28769Durchsuche

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

谢谢,理解了

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn