Maison > développement back-end > Problème PHP > Comment convertir un objet en tableau en php

Comment convertir un objet en tableau en php

藏色散人
Libérer: 2023-03-07 18:50:01
original
3465 Les gens l'ont consulté

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

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

Sortie :

Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] =>
 )
 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] => point #1
 )
Copier après la connexion

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

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

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!

Étiquettes associées:
php
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