Wenn der PHP-Kernel einen Modulinitialisierungsvorgang durchführt, wird diese Funktion automatisch geladen. Auf diese Weise wird auch der Registrierungsvorgang der stdClass-Klasse ausgeführt. Die stdClass-Klasse ist eine Klasse ohne Mitgliedsvariablen und ohne Mitgliedsmethoden. Alle seine magischen Methoden, übergeordneten Klassen, Schnittstellen usw. werden während der Initialisierung auf NULL gesetzt. Da wir in PHP keine Methoden dynamisch zu einer Klasse hinzufügen können, kann diese Klasse nur zur Verarbeitung dynamischer Attribute verwendet werden, was ebenfalls häufig verwendet wird. Daher löst die folgende Methode den Set-Interceptor nicht aus.
stdclass kann als Basisklasse verwendet werden. Sein größtes Merkmal besteht darin, dass (seine abgeleiteten Klassen) automatisch Mitgliedsvariablen hinzufügen können, ohne sie bei der Definition anzugeben. AllePHP-Variablen sind Instanzen von stdClass.
Verwendung: 1. Verwenden Sie stdclass:$andy = array(); $andy = (object)$andy; $andy->a = 1; $andy->b = 2; $andy->c = 3;
<?php $a = new stdClass(); $a->id = '11 '; $a->username = 'me'; print_r($a); ?>
Oft wird diese Methode verwendet, um die Verwendung von
Array zu ersetzen, was lediglich eine Änderung der Syntax darstellt.
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“.
<?php $a = array(1=>2,2=>3); $a = (object)$a; $a->id = '11 '; $a->username = 'me'; print_r($a); ?>
<?php $a = array(1=>2,2=>3); $a = (object)$a; $a = new stdClass(); $a->id = '11 '; $a->username = 'me'; print_r($a); ?>
Es ist zu beachten, dass bei der Verwendung von global und statisch in einer Funktion auf die neue stdclass verwiesen wird und die Verwendung von Referenzen vermieden wird, sondern direkt auf die neue stdclass .
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der Verwendung von stdClass in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!