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

Comment convertir un objet en tableau en php

藏色散人
藏色散人original
2020-11-23 09:38:503325parcourir

Comment convertir un objet en tableau en PHP : Comment convertir un objet en tableau en PHP : Créez d'abord un fichier exemple PHP ; puis accédez à l'objet sous la forme d'un tableau via le "get_object_vars ( objet $obj)" fonction. Can.

Comment convertir un objet en tableau en php

L'environnement d'exploitation de ce tutoriel : Système Windows 7, PHP version 5.6. Cette méthode convient à toutes les marques d'ordinateurs.

Recommandé : "Tutoriel vidéo PHP"

Objet PHP en fonction de tableau

Concernant l'objet en PHP auquel vous souhaitez accéder sous forme de tableau, vous devez utiliser la fonction get_object_vars(). Introduisons d’abord cette fonction.

La documentation officielle l'explique ainsi :

array get_object_vars ( object $obj )

Renvoie un tableau associatif composé de propriétés définies dans l'objet spécifié par obj.

Exemple :

<?php
class Point2D {
  var $x, $y;
  var $label;
  function Point2D($x, $y)  // Point2D换成__construct
  {
    $this->x = $x;
    $this->y = $y;
  }
  function setLabel($label)
  {
    $this->label = $label;
  }
  function getPoint()
  {
    return array("x" => $this->x,
           "y" => $this->y,
           "label" => $this->label);
  }
}
// "$label" is declared but not defined
$p1 = new Point2D(1.233, 3.445);
print_r(get_object_vars($p1));
$p1->setLabel("point #1");
print_r(get_object_vars($p1));
?>

Sortie :

Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] =>
 )
 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] => point #1
 )

Objet en implémentation spécifique au tableau :

function objectToArray($obj) {
  //首先判断是否是对象
  $arr = is_object($obj) ? get_object_vars($obj) : $obj;
  if(is_array($arr)) {
    //这里相当于递归了一下,如果子元素还是对象的话继续向下转换
    return array_map(__FUNCTION__, $arr);
  }else {
    return $arr;
  }
}

array_map()La fonction convertit le utilisateur Définit une fonction pour agir sur chaque valeur du tableau et renvoie un tableau avec de nouvelles valeurs après l'application de la fonction définie par l'utilisateur.

Mise en œuvre concrète de la conversion d'un tableau en objet :

function arrayToObject($arr) {
  if(is_array($arr)) {
    return (object)array_map(__FUNCTION__, $arr);
  }else {
    return $arr;
  }
}

Cette méthode convient à toutes les marques d'ordinateurs.

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