Maison  >  Article  >  php教程  >  Exemple d'analyse de l'utilisation de STDCLASS en PHP

Exemple d'analyse de l'utilisation de STDCLASS en PHP

高洛峰
高洛峰original
2016-12-21 14:31:411119parcourir

L'exemple de cet article décrit l'utilisation de STDCLASS en PHP. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

STDCLASS en PHP n'est pas beaucoup utilisé dans nos applications de développement, mais STDCLASS en PHP est très important. .

StdClass est utilisé à de nombreux endroits dans WordPress pour définir un objet (généralement sous la forme d'un tableau), puis utiliser get_object_vars pour "convertir" l'objet défini en tableau.

Comme suit Le code est affiché :

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

Sortie :

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

La fonction de get_object_vars est pour renvoyer les propriétés de l'objet Un tableau associatif composé de. Son effet est en fait le même que la définition d'un tableau comme ceci :

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

Cela peut être compris comme ceci : stdClass est une classe intégrée, qui n'a pas de variables membres ni de membres méthodes. Un nouveau stdClass instancie un objet "vide". Il n'a aucune signification en soi, mais quels sont les avantages d'utiliser stdClass pour le définir

Le code suivant :

$user = new stdClass();
$user->name = 'gouki';
$user->hehe = 'hehe';
$myUser = $user;
$myUser->name = 'flypig';
print_r($user);
print_r($myUser);
print_r($user);

Ici, $myUser se voit attribuer la valeur $user, mais en fait, il n'y a pas de nouvelle variable de stockage en mémoire, $myUser fait toujours référence à l'objet stdClass. La modification de la page de propriétés via les modifications de $myUser. les propriétés de $user, et au lieu de créer une nouvelle copie, s'il existe de nombreuses opérations de ce type dans le programme, l'utilisation de stdClass peut économiser de la mémoire.

Résultats en cours d'exécution :

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

Comme peut être vu à partir des résultats, en changeant $myUser L'attribut modifie l'attribut stdClass déclaré par $user, et si $user est un tableau et est affecté à $myUser, alors une copie est copiée dans $myUser, ce qui augmente la surcharge du système.

Bien sûr, vous pouvez aussi faire l'inverse et convertir un tableau en objet :

$hehe['he1'] = 'he1';
$hehe['he2'] = 'he2';
$hh = (object) $hehe;
print_r($hh);

Imprimer le résultat :

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

J'espère que cela l'article sera utile à tout le monde dans la programmation PHP.

Pour plus d'articles liés à l'analyse d'exemples d'utilisation de STDCLASS en PHP, veuillez faire attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn