Explication détaillée de l'application du code d'instance stdClass en php

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

Cet article présente principalement l'utilisation de stdClass en php. Il analyse les fonctions et les techniques d'utilisation de stdClass avec des exemples. Il a une certaine valeur de référence.

Cet article analyse stdClass. en php avec des exemples d'utilisation. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

stdclass est l'une des nombreuses classes prédéfinies en PHP et est une classe réservée par zent. En fait, il s'agit d'une classe de base fournie par PHP, qui est une classe vide sans rien dedans. Nous pouvons l'instancier, puis définir une série de variables et y transmettre des variables (de nombreux programmeurs PHP l'utilisent pour transmettre les valeurs ​d'une série de variables sans prendre la peine de créer votre propre classe). Cependant, comme les méthodes ne peuvent pas être ajoutées après l'instanciation, seuls les attributs peuvent être transmis. Car une fois qu’une classe est instanciée, les méthodes ne peuvent plus être ajoutées.

stdclass peut être utilisé comme classe de base. Sa plus grande fonctionnalité est que (ses classes dérivées) peuvent ajouter automatiquement des variables membres sans avoir besoin de les spécifier lors de la définition.

Toutes les variables php sont des instances de stdClass.

Utilisation :

1. Utilisez stdclass :

$andy = array();
$andy = (object)$andy;
$andy->a = 1;
$andy->b = 2;
$andy->c = 3;
Copier après la connexion

De cette façon, les quantités a, b et c sont renseignées dans stdclass. Cela évite des problèmes, car pour créer un objet vide, il faut $andy = new Andy; et il doit d'abord y avoir une classe Andy{}. Autre exemple :

<?php
$a = new stdClass();
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>
Copier après la connexion

affichera : stdClass Object ( [id] => 11 [username] => me ).
Souvent, cette méthode est utilisée pour remplacer l'utilisation de array, qui n'est qu'un changement de syntaxe.

2. Lecture :

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日 阴转阵雨
        )
    )
)
Copier après la connexion

En fait, c'est similaire à array, mais la méthode d'accès change un peu Nous sommes généralement habitués à utiliser array['key'] pour accéder. tableaux.
Pour ce type de stdClass, comme dans l'exemple ci-dessus, $weather->getWeatherbyCityNameResult->string[0] peut accéder à l'attribut comme ceci, et le résultat sera "Sichuan".

3. Instanciation, nouveau.

Comparez ces deux codes :

<?php  
$a = array(1=>2,2=>3);
$a = (object)$a;
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>
Copier après la connexion

affichera : stdClass Object ( [1] => 2 [2] => 3 [id] => 11 [username ] => moi).

<?php  
$a = array(1=>2,2=>3);
$a = (object)$a;
$a = new stdClass();
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>
Copier après la connexion

affichera : stdClass Object ( [id] => 11 [username] => me ) .

Il s'avère qu'après l'instanciation avec new, le tableau précédent est effacé, ne laissant que ceux ajoutés plus tard. S'il n'est pas instancié, stdClass conservera tous les éléments.

Il convient de noter que lors de l'utilisation de global et static dans une fonction et que la nouvelle classe std est référencée, &new stdclass sera invalide. Évitez d'utiliser des références et utilisez-les directement. .

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