Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Objekt-zu-Array-Funktion

PHP-Objekt-zu-Array-Funktion

王林
Freigeben: 2023-04-07 11:18:01
Original
6081 Leute haben es durchsucht

PHP-Objekt-zu-Array-Funktion

Für das Objekt in PHP, auf das Sie in Form eines Arrays zugreifen möchten, müssen Sie die Funktion get_object_vars() verwenden. Lassen Sie uns zunächst diese Funktion vorstellen.

Die offizielle Dokumentation erklärt es so:

array get_object_vars ( object $obj )
Nach dem Login kopieren

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)
  {
    $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));
?>
Nach dem Login kopieren

Ausgabe:

Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] =>
 )
 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] => point #1
 )
Nach dem Login kopieren

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;
  }
}
Nach dem Login kopieren

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;
  }
}
Nach dem Login kopieren

Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonPHP-Objekt-zu-Array-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage