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

So konvertieren Sie ein Objekt in ein assoziatives Array in PHP

藏色散人
藏色散人Original
2019-01-22 15:19:354247Durchsuche

Objekte sind Instanzen von Klassen. Es ist nur ein Beispiel einer Klasse mit zugewiesenem Speicher. Array ist eine Datenstruktur, die einen oder mehrere Werte ähnlichen Typs unter einem Namen speichert. Assoziative Arrays unterscheiden sich jedoch von einfachen PHP-Arrays. Ein Array, das String-Indizes enthält, wird als assoziatives Array bezeichnet. Es ordnet Elementwerte Schlüsselwerten zu, anstatt sie in linearer Indexreihenfolge zu speichern.

So konvertieren Sie ein Objekt in ein assoziatives Array in PHP

Methode 1:

Verwendung der Methoden json_decode und json_encode: Die Funktion json_decode akzeptiert eine JSON-codierte Zeichenfolge und konvertiert sie in die PHP-Variable json_encode hingegen gibt die JSON-codierte Zeichenfolge des angegebenen Werts zurück.

Syntax:

$myArray = json_decode(json_encode($object), true);

Beispiel:

<?php 
class sample { 
      
    /* 成员变量 */
    var $var1; 
    var $var2; 
      
    function __construct( $par1, $par2 )  
    { 
        $this->var1 = $par1; 
        $this->var2 = $par2; 
    } 
} 
  
//创建的对象 
$myObj = new sample(1000, "second"); 
echo "转换前: \n"; 
var_dump($myObj); 
  
// 将对象转换为关联数组
$myArray = json_decode(json_encode($myObj), true); 
echo "转换后: \n"; 
var_dump($myArray); 
?>

Ausgabe:

转换前: 
object(sample)#1 (2) {
  ["var1"]=>
  int(1000)
  ["var2"]=>
  string(6) "second"
}
转换后: 
array(2) {
  ["var1"]=>
  int(1000)
  ["var2"]=>
  string(6) "second"
}

Methode 2:

Typkonvertierung Objekt in Array: Die Typkonvertierung ist eine Methode zum Konvertieren einer Datentypvariablen in einen anderen Datentyp. Es handelt sich lediglich um eine explizite Konvertierung des Datentyps. Es kann PHP-Objekte mithilfe der in PHP unterstützten Typkonvertierungsregeln in Arrays konvertieren.

Syntax:

$myArray = (array) $myObj;

Beispiel:

<?php 
class bag { 
      
    /* 成员变量 */
    var $item1; 
    var $item2; 
    var $item3; 
      
    function __construct( $par1, $par2, $par3)  
    { 
        $this->item1 = $par1; 
        $this->item2 = $par2; 
        $this->item3 = $par3; 
    } 
} 
  
// 创建myBag对象 
$myBag = new bag("Mobile", "Charger", "Cable"); 
echo "转换前: \n"; 
var_dump($myBag); 
  
// 将对象转换为数组
$myBagArray = (array)$myBag; 
echo "转换后: \n"; 
var_dump($myBagArray); 
?>

Ausgabe:

转换前: 
object(bag)#1 (3) {
  ["item1"]=>
  string(6) "Mobile"
  ["item2"]=>
  string(7) "Charger"
  ["item3"]=>
  string(5) "Cable"
}
转换后: 
array(3) {
  ["item1"]=>
  string(6) "Mobile"
  ["item2"]=>
  string(7) "Charger"
  ["item3"]=>
  string(5) "Cable"
}

In diesem Artikel geht es darum, wie PHP Objekte in assoziative Arrays konvertiert. Die Einführung ist auch sehr einfach. Ich hoffe, es wird Freunden in Not helfen!

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Objekt in ein assoziatives 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