Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie ein Objekt in ein Array in PHP

So konvertieren Sie ein Objekt in ein Array in PHP

藏色散人
藏色散人Original
2020-11-23 09:38:503325Durchsuche

So konvertieren Sie ein Objekt in ein Array in PHP: So konvertieren Sie ein Objekt in ein Array in PHP: Erstellen Sie zunächst eine PHP-Beispieldatei und greifen Sie dann über „get_object_vars (object $obj)“ auf das Objekt in Form eines Arrays zu. " Funktion.

So konvertieren Sie ein Objekt in ein Array in PHP

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 5.6. Diese Methode ist für alle Computermarken geeignet.

Empfohlen: „PHP-Video-Tutorial

PHP-Objekt-zu-Array-Funktion

Wenn Sie möchten, dass in PHP auf das Objekt in Form eines Arrays zugegriffen werden soll, müssen Sie get_object_vars( ) Funktion. Lassen Sie uns zunächst diese Funktion vorstellen.

Die offizielle Dokumentation erklärt es so:

array get_object_vars ( object $obj )

Gibt ein assoziatives Array zurück, das aus Eigenschaften besteht, die in dem durch obj angegebenen Objekt definiert sind.

Beispiel:

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

Ausgabe:

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

Objekt-zu-Array-spezifische Implementierung:

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()Die Funktion wendet die benutzerdefinierte Funktion auf jeden Wert im Array an und gibt der benutzerdefinierten Funktion ein Array mit zurück neue Werte.

Konkrete Implementierung der Konvertierung eines Arrays in ein Objekt:

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

Diese Methode ist für alle Computermarken geeignet.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Objekt in ein Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn