2 Stimmen

Wie kann ich in PHP ein Objekt in ein assoziatives Array umwandeln?

Wie der Titel andeutet, ist meine Frage, wie ich eine PHP-Klasse in ein assoziatives Array konvertieren kann? Zum Beispiel habe ich

class MyObject {
  private $size = null;
  private $length = null;
  private $width = null;

    public function getSize(){
        return $this->size;
    }

    public function setSize($size){
        $this->size = $size;
    }

    public function getLength(){
        return $this->length;
    }

    public function setLength($length){
        $this->length = $length;
    }

    public function getWidth(){
        return $this->width;
    }

    public function setWidth($width){
        $this->width = $width;
    }

}

//Now what i want is following

$abc = new MyObject();
$abc->width = 10;
$anArray = someFunction($abc);  
//This should generate an associative array
//Now associative array is accessible
echo $anArray['width]; // 10

8voto

Pekka Punkte 429407

Es gibt zwei Möglichkeiten, die leicht unterschiedlich funktionieren.

Sie können in ein Array casten:

$array = (array)$object;

es gibt ein Kapitel über Details und Nebeneffekte im PHP-Handbuch

oder verwenden get_object_vars() .

Véase diese Frage über die Unterschiede.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X