suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie lautet die Zugriffssyntax für PHP-Objekteigenschaften?

<p><strong>Wie greife ich auf die Eigenschaften eines PHP-Objekts zu? </strong></p> <p>Was ist außerdem der Unterschied zwischen dem Zugriff auf Objekteigenschaften mit <code>$this->$property1</code> und <code>$this->property1</code>? </p> <p>Wenn ich versuche, <code>$this->$property1</code> zu verwenden, erhalte ich die folgende Fehlermeldung: </p> <blockquote> <p>'PHP: Auf die Null-Eigenschaft kann nicht zugegriffen werden'. </p> </blockquote> <p>In der Objekteigenschaftendokumentation von PHP gibt es einen Kommentar, der dieses Problem erwähnt, es jedoch nicht im Detail erläutert. </p>
P粉966335669P粉966335669462 Tage vor651

Antworte allen(2)Ich werde antworten

  • P粉143640496

    P粉1436404962023-08-23 18:25:47

    $this->property1 的意思是:

    使用该对象并获取绑定到该对象的变量 property1

    $this->$property1 的意思是:

    评估字符串 $property1 并使用结果获取由 $property1 结果命名的变量,该变量绑定到该对象

    Antwort
    0
  • P粉336536706

    P粉3365367062023-08-23 10:46:49

    1. $property1 // 特定变量
    2. $this->property1 // 特定属性

    在类的一般用法中,不需要使用"$",否则你将调用一个名为$property1的变量,它可以取任何值。

    示例:

    class X {
      public $property1 = 'Value 1';
      public $property2 = 'Value 2';
    }
    $property1 = 'property2';  // 属性2的名称
    $x_object = new X();
    echo $x_object->property1; // 返回 'Value 1'
    echo $x_object->$property1; // 返回 'Value 2'
    

    Antwort
    0
  • StornierenAntwort