Dieser Artikel analysiert die Verwendung von stdClass in PHP anhand von 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 Eigenschaften ü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:
$andy = array(); $andy = (object)$andy; $andy->a = 1; $andy->b = 2; $andy->c = 3;
Geben Sie auf diese Weise die Mengen a ein, b und c stdclass eingegeben. 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:
<?php $a = new stdClass(); $a->id = '11 '; $a->username = 'me'; print_r($a); ?>
gibt Folgendes aus: stdClass Object ([id] => 11 [username] => me).
Oft wird diese Methode verwendet, um die Verwendung von Arrays zu ersetzen, was lediglich eine Änderung der Syntax darstellt.
Lesen Sie:
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日 阴转阵雨 ) ) )
Tatsächlich ähnelt es einem Array, aber die Zugriffsmethode ändert sich ein wenig zu verwenden array['key ']Auf diese Weise können Sie auf das Array zugreifen.
Für diese Art von stdClass, wie im obigen Beispiel, kann $weather->getWeatherbyCityNameResult->string[0] auf solche Eigenschaften zugreifen und das Ergebnis ist „Sichuan“.
3. Instanziierung, neu.
Vergleichen Sie diese beiden Codes:
<?php $a = array(1=>2,2=>3); $a = (object)$a; $a->id = '11 '; $a->username = 'me'; print_r($a); ?>
gibt Folgendes aus: stdClass Object ( [1] => 2 [2] => 3 [id] => 11 [Benutzername] => ich).
<?php $a = array(1=>2,2=>3); $a = (object)$a; $a = new stdClass(); $a->id = '11 '; $a->username = 'me'; print_r($a); ?>
gibt Folgendes aus: stdClass Object ( [id] => 11 [username] => me ).
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 oder static in einer Funktion und beim Verweis auf die neue stdclass die Verwendung von Referenzen vermieden und die neue stdclass direkt verwendet werden sollte.
Ich hoffe, dass dieser Artikel für das PHP-Programmierdesign aller hilfreich sein wird.