コードの一部がわかりません。説明してください、ありがとうございます
次のコード
class foo {
var $bar = 'I am bar.' }
$foo = new foo ();
$bar = 'bar';
$baz = array('foo', 'bar', 'qux');
echo "{$foo->$bar}n"; echo "{$foo-> $baz[1]}n";
?>
出力結果:
I am bar.
質問 1: プログラム内で n 行の改行が使用されています。出力結果に改行がないのはなぜですか?:: 2: {$ foo-& gt; $ Bar} の出力は FOO の変数 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 の改行です
実はあなたは $foo->$bar を理解していませんでした $bar のバーがたまたま同じ名前だっただけですクラス属性 bar として使用する
変数の変数を理解する それが真実です
$bar に価値がある場合は、オブジェクトを使用する必要があります。例えば
$foo->bar="??";
<?PHPclass foo { public $bar = 'I am bar.';}$foo = new foo();$foo->bar = "test\n";echo $foo->bar;
ありがとうございます、分かりました