Heim  >  Artikel  >  php教程  >  Beispielanalyse der STDCLASS-Nutzung in PHP

Beispielanalyse der STDCLASS-Nutzung in PHP

高洛峰
高洛峰Original
2016-12-21 14:31:411119Durchsuche

Das Beispiel in diesem Artikel beschreibt die Verwendung von STDCLASS in PHP. Teilen Sie es als Referenz mit allen:

STDCLASS in PHP wird in unseren Entwicklungsanwendungen nicht häufig verwendet, aber werfen wir einen Blick auf die Verwendung von STDCLASS in PHP .

StdClass wird an vielen Stellen in WordPress verwendet, um ein Objekt zu definieren (normalerweise in Form eines Arrays) und dann get_object_vars zu verwenden, um das definierte Objekt in ein Array zu „konvertieren“.

Wie folgt wird der Code angezeigt:

$tanteng = new stdClass();
$tanteng->name = 'tanteng';
$tanteng->email = 'xxx@qq.com';
$info = get_object_vars($tanteng);
print_r($info);
exit;

Ausgabe:

Array ( [name] => tanteng [email] => xxx@qq.com )

Die Funktion von get_object_vars ist um die Objekteigenschaften zurückzugeben. Ein assoziatives Array bestehend aus. Seine Wirkung ist eigentlich die gleiche wie die Definition eines Arrays wie folgt:

$tanteng = array();
$tanteng['name'] = 'tanteng';
$tanteng['email'] = 'xxx@qq.com';

Es kann folgendermaßen verstanden werden: stdClass ist eine integrierte Klasse, die keine Mitgliedsvariablen oder Mitglieder hat Methoden. Eine neue stdClass instanziiert ein „leeres“ Objekt, aber welche Vorteile hat die Verwendung von stdClass, um es zu definieren?

$user = new stdClass();
$user->name = 'gouki';
$user->hehe = 'hehe';
$myUser = $user;
$myUser->name = 'flypig';
print_r($user);
print_r($myUser);
print_r($user);
Hier wird $myUser der Wert $user zugewiesen, aber tatsächlich gibt es keine neue Speichervariable, die immer noch auf das stdClass-Objekt verweist die Eigenschaften von $user, und Anstatt eine neue Kopie zu erstellen, kann die Verwendung von stdClass bei vielen solcher Vorgänge im Programm Speicheraufwand sparen.

Ergebnisse ausführen:

Wie Aus den Ergebnissen ist ersichtlich, dass sich das Attribut $myUser ändert, um das von $user deklarierte stdClass-Attribut zu ändern. Wenn $user ein Array ist und $myUser zugewiesen ist, wird eine Kopie nach $myUser kopiert, was den Systemaufwand erhöht.

Natürlich können Sie auch den anderen Weg gehen und ein Array in ein Objekt umwandeln:

stdClass Object
(
  [name] => flypig
  [hehe] => hehe
)
stdClass Object
(
  [name] => flypig
  [hehe] => hehe
)
stdClass Object
(
  [name] => flypig
  [hehe] => hehe
)

Ergebnis ausdrucken:

Das hoffe ich Der Artikel wird für jeden hilfreich sein, der sich mit PHP-Programmierung beschäftigt.
$hehe['he1'] = 'he1';
$hehe['he2'] = 'he2';
$hh = (object) $hehe;
print_r($hh);

Weitere Artikel zur Analyse von Beispielen der STDCLASS-Nutzung in PHP finden Sie auf der chinesischen PHP-Website!

stdClass Object ( [he1] => he1 [he2] => he2 )

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