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

伊谢尔伦
Libérer: 2023-03-12 07:10:01
original
3755 Les gens l'ont consulté

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;
Copier après la connexion
Sortie :

Array ( [name] => tanteng [email] => xxx@qq.com )
Copier après la connexion
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';
Copier après la connexion
peut être compris comme ceci : stdClass est une classe intégrée, elle n'a pas de membres

variables, et aucun Méthodes membres< Pour une classe de 🎜>, 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 = &#39;gouki&#39;;
$user->hehe = &#39;hehe&#39;;
$myUser = $user;
$myUser->name = &#39;flypig&#39;;
print_r($user);
print_r($myUser);
print_r($user);
Copier après la connexion

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
)
Copier après la connexion

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

Imprimer le résultat :
$hehe[&#39;he1&#39;] = &#39;he1&#39;;
$hehe[&#39;he2&#39;] = &#39;he2&#39;;
$hh = (object) $hehe;
print_r($hh);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal