Maison  >  Article  >  développement back-end  >  Comment convertir un objet en tableau associatif en PHP

Comment convertir un objet en tableau associatif en PHP

藏色散人
藏色散人original
2019-01-22 15:19:354247parcourir

Les objets sont des instances de classes. C'est juste un échantillon d'une classe avec une mémoire allouée. Un tableau est une structure de données qui stocke une ou plusieurs valeurs de type similaire sous un même nom, mais les tableaux associatifs sont différents des simples tableaux PHP. Un tableau contenant des indices de chaîne est appelé tableau associatif. Il associe les valeurs des éléments aux valeurs clés plutôt que de les stocker dans un ordre d'index linéaire.

Comment convertir un objet en tableau associatif en PHP

Méthode 1 :

Utilisation des méthodes json_decode et json_encode : la fonction json_decode accepte la chaîne codée JSON et la convertit en variable PHP, json_encode d'autre part, renvoie la chaîne codée JSON de la valeur donnée.

Syntaxe :

$myArray = json_decode(json_encode($object), true);

Exemple :

<?php 
class sample { 
      
    /* 成员变量 */
    var $var1; 
    var $var2; 
      
    function __construct( $par1, $par2 )  
    { 
        $this->var1 = $par1; 
        $this->var2 = $par2; 
    } 
} 
  
//创建的对象 
$myObj = new sample(1000, "second"); 
echo "转换前: \n"; 
var_dump($myObj); 
  
// 将对象转换为关联数组
$myArray = json_decode(json_encode($myObj), true); 
echo "转换后: \n"; 
var_dump($myArray); 
?>

Sortie :

转换前: 
object(sample)#1 (2) {
  ["var1"]=>
  int(1000)
  ["var2"]=>
  string(6) "second"
}
转换后: 
array(2) {
  ["var1"]=>
  int(1000)
  ["var2"]=>
  string(6) "second"
}

Méthode 2  :

Objet de conversion de type en tableau : la conversion de type est une méthode de conversion d'une variable de type de données en un type de données différent. Il s'agit simplement d'une conversion explicite du type de données. Il peut convertir des objets PHP en tableaux en utilisant les règles de conversion de type prises en charge par PHP.

Syntaxe :

$myArray = (array) $myObj;

Exemple :

<?php 
class bag { 
      
    /* 成员变量 */
    var $item1; 
    var $item2; 
    var $item3; 
      
    function __construct( $par1, $par2, $par3)  
    { 
        $this->item1 = $par1; 
        $this->item2 = $par2; 
        $this->item3 = $par3; 
    } 
} 
  
// 创建myBag对象 
$myBag = new bag("Mobile", "Charger", "Cable"); 
echo "转换前: \n"; 
var_dump($myBag); 
  
// 将对象转换为数组
$myBagArray = (array)$myBag; 
echo "转换后: \n"; 
var_dump($myBagArray); 
?>

Sortie :

转换前: 
object(bag)#1 (3) {
  ["item1"]=>
  string(6) "Mobile"
  ["item2"]=>
  string(7) "Charger"
  ["item3"]=>
  string(5) "Cable"
}
转换后: 
array(3) {
  ["item1"]=>
  string(6) "Mobile"
  ["item2"]=>
  string(7) "Charger"
  ["item3"]=>
  string(5) "Cable"
}

Cet article concerne la conversion d'objets en PHP La méthode de conversion en tableau associatif est également introduite. J'espère qu'elle sera utile aux amis dans le besoin !

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