Maison  >  Article  >  php教程  >  Analyse de l'utilisation de stdClass en php

Analyse de l'utilisation de stdClass en php

高洛峰
高洛峰original
2016-12-21 14:16:131129parcourir

Cet article analyse l'utilisation de stdClass en php avec des exemples. 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, seules les propriétés peuvent être transmises. 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;

De cette façon, remplissez les quantités a, b et c Classe std entrée. Cela évite les problèmes, car pour créer un objet vide, il faut $andy = new Andy; et il doit d'abord y avoir une classe Andy{}. Un autre exemple :

<?php
$a = new stdClass();
$a->id = &#39;11 &#39;;
$a->username = &#39;me&#39;;
print_r($a);
?>

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

2. Lire :

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日 阴转阵雨
        )
    )
)

En fait, c'est similaire au tableau, mais la méthode d'accès change un peu. généralement utilisé pour utiliser array[ 'key'] pour accéder au tableau.
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);
?>

affichera : stdClass Object ( [1] => 2 [2] = > ; 3 [id] => 11 [nom d'utilisateur] =>

<?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);
?>

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 ou static dans une fonction et qu'une nouvelle classe std est référencée, &new stdclass sera invalide. Vous devez éviter d'utiliser des références et utiliser directement la nouvelle classe std.

J'espère que cet article sera utile à la conception de la programmation PHP de chacun.

Pour plus d'articles liés à l'analyse de l'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