Maison  >  Article  >  développement back-end  >  Qu’est-ce que STDCLASS en php ? Comment utiliser ?

Qu’est-ce que STDCLASS en php ? Comment utiliser ?

伊谢尔伦
伊谢尔伦original
2017-06-30 10:10:203699parcourir

Cet article présente principalement l'utilisation de STDCLASS en PHP, et analyse les fonctions, principes, méthodes d'utilisation et aspects associés de STDCLASS en PHP sous forme d'exemples Notes, les amis dans le besoin peuvent s'y référer

Les exemples de cet article décrivent 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.

Le code suivant 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 à renvoyer par Un tableau associatif de propriétés d'objet. Son effet est en fait le même que la définition d'un tableau comme celui-ci :

$tanteng = array();
$tanteng['name'] = 'tanteng';
$tanteng['email'] = 'xxx@qq.com';
peut être compris comme ceci : stdClass est une classe intégrée, elle n'a pas de membres

variables, et aucun Méthodes membres, la nouvelle stdClass consiste à instancier un objet "vide". Cela n'a en soi aucune signification, mais quels sont les avantages d'utiliser stdClass pour le définir Ce qui suit ? code :

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 $myUser modifie la valeur. propriétés de $user. Il ne crée pas de nouvelle copie. S'il existe de nombreuses opérations de ce type dans le programme, et l'utilisation de stdClass peut économiser de la mémoire
$user = new stdClass();
$user->name = 'gouki';
$user->hehe = 'hehe';
$myUser = $user;
$myUser->name = 'flypig';
print_r($user);
print_r($myUser);
print_r($user);

Résultats d'exécution :

Il. On peut voir à partir des résultats que la modification des propriétés de $myUser change $ L'attribut stdClass déclaré par l'utilisateur, 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 .
stdClass Object
(
  [name] => flypig
  [hehe] => hehe
)
stdClass Object
(
  [name] => flypig
  [hehe] => hehe
)
stdClass Object
(
  [name] => flypig
  [hehe] => hehe
)

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

Imprimer le résultat :
$hehe['he1'] = 'he1';
$hehe['he2'] = 'he2';
$hh = (object) $hehe;
print_r($hh);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en 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