ホームページ >バックエンド開発 >PHPチュートリアル >$this->name と $this->$name の違いがわかりません。

$this->name と $this->$name の違いがわかりません。

WBOY
WBOYオリジナル
2016-06-23 13:47:08957ブラウズ

$this->$name は set メソッドと get メソッドで使用されます。私は通常、$this->name='sss'; を属性に割り当てます。詳しく説明してください。 ! ! ! !


ディスカッションへの返信 (解決策)

後者は変数です
前者は変数の変数です

$name=aaa;
$this->$name は $this->aaa に等しいです;
$this- >aaa is??quantity

class a{ private $name; $this->name; private $$name; $this->$name;}

わかりました。実際には、値を代入したいのです。変数。

<?php 	         class classname{		private $attribute;						function __get($name)		{			echo "__get"."<br />";			return $this->$name."<br/>";		}		function __set($name,$value)		{			echo "__set"."<br />";			$this->$name=$value;					}	}	$a = new classname;	$a->attribute = 90;		echo $a->attribute;		?>

この時点での出力は次のようになります:
__set
__get
90
ただし、クラス外ステートメントを次のように変更します:
$a->$attribute = 90;
echo $a->$attribute ;(または echo $a- >attribute;)
次のように出力するだけです:
__set
__get

解決策は何でしょうか? PHPコード?12345678910111213141516171819&lt;?php class classname {private $属性($ name)echo "__get"。・・・不思議だけど、返信した後にもう一度考えてみたら分かりました。

5階も迷っています

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:phpメーラー次の記事:phpメーラー