Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der stdClass-Instanzcodeanwendung in PHP

Detaillierte Erläuterung der stdClass-Instanzcodeanwendung in PHP

伊谢尔伦
伊谢尔伦Original
2017-06-30 10:12:171089Durchsuche

Dieser Artikel stellt hauptsächlich die Verwendung von stdClass in PHP vor. Er analysiert die Funktionen und Verwendungstechniken von stdClass. Er hat einen bestimmten Referenzwert in PHP mit Beispielen. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

stdclass ist eine von mehreren vordefinierten Klassen in PHP und eine von zent reservierte Klasse. Tatsächlich handelt es sich um eine von PHP bereitgestellte Basisklasse, bei der es sich um eine leere Klasse ohne Inhalt handelt. Wir können sie instanziieren, dann eine Reihe von Variablen definieren und Variablen durch sie weiterleiten (viele PHP-Programmierer verwenden sie, um die Werte zu übergeben). einer Reihe von Variablen, ohne sich die Mühe zu machen, eine eigene Klasse zu erstellen). Da jedoch nach der Instanziierung keine Methoden hinzugefügt werden können, können nur

-Attribute

übergeben werden. Denn sobald eine Klasse instanziiert ist, können keine Methoden mehr hinzugefügt werden. stdclass kann als Basisklasse verwendet werden. Sein größtes Merkmal besteht darin, dass (seine abgeleiteten Klassen) automatisch Mitgliedsvariablen hinzufügen können, ohne dass diese beim Definieren angegeben werden müssen.

Alle

php-Variablen

sind Instanzen von stdClass. Verwendung:

1. Verwenden Sie stdclass:

Auf diese Weise werden die Mengen a, b und c in stdclass gefüllt. Das erspart Ärger, denn zum Erstellen eines leeren Objekts ist $andy = new Andy; erforderlich und es muss zuerst eine Klasse Andy{} vorhanden sein. Ein weiteres Beispiel:
$andy = array();
$andy = (object)$andy;
$andy->a = 1;
$andy->b = 2;
$andy->c = 3;

gibt Folgendes aus: stdClass Object ( [id] => 11 [username] => me ).
<?php
$a = new stdClass();
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>
Oft wird diese Methode verwendet, um die Verwendung von

Array
zu ersetzen, was lediglich eine Änderung der Syntax darstellt. 2. Lesen:

Tatsächlich ähnelt es einem Array, aber die Zugriffsmethode ändert sich im Allgemeinen ein wenig Arrays.
stdClass Object
(
  [getWeatherbyCityNameResult] => stdClass Object
    (
      [string] => Array
        (
          [0] => 四川
          [1] => 成都
          [2] => 56294
          [3] => 56294.jpg
          [4] => 2009-5-17 13:52:08
          [5] => 26℃/19℃
          [6] => 5月17日 阴转阵雨
        )
    )
)
Für diese Art von stdClass, wie im obigen Beispiel, kann $weather->getWeatherbyCityNameResult->string[0] wie folgt auf das Attribut zugreifen, und das Ergebnis ist „Sichuan“.


3. Instanziierung, neu.

Vergleichen Sie diese beiden Codes:

gibt Folgendes aus: stdClass Object ( [1] => 2 [2] => 3 [id] => 11 [Benutzername] => ich ).
<?php  
$a = array(1=>2,2=>3);
$a = (object)$a;
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>

gibt Folgendes aus: stdClass Object ( [id] => 11 [username] => me ) .
<?php  
$a = array(1=>2,2=>3);
$a = (object)$a;
$a = new stdClass();
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>

Es stellt sich heraus, dass nach der Instanziierung mit new das vorherige Array gelöscht wird und nur die später hinzugefügten übrig bleiben. Wenn es nicht instanziiert wird, behält stdClass alle Elemente bei.

Es ist zu beachten, dass bei der Verwendung von global und

statisch in einer Funktion die Verwendung von Verweisen auf die neue Standardklasse ungültig ist und diese direkt verwendet werden Standardklasse.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der stdClass-Instanzcodeanwendung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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