Converti oggetto PHP in array associativo
-
Usa la parola chiave
array
per digitare l’oggettoStdClass
da convertire in un array associativo in PHP -
Utilizzare l’oggetto
StdClass
all’interno di una classe definita dall’utente per convertire l’oggetto in un array associativo in PHP -
Usa le funzioni
json_encode()
ejson_decode()
per convertire l’oggetto in un array associativo in PHP
Introdurremo un metodo per convertire l’oggetto PHP in un array associativo typecasting gli oggetti di StdClass
usando la parola chiave array
. Useremo la funzione var_dump()
per visualizzare l’array associativo.
Il secondo approccio mostra un altro metodo per convertire l’oggetto PHP in un array associativo creando una StdClass
nel costruttore di una classe definita dall’utente. Convertiremo l’oggetto nell’array associativo come nel primo metodo usando la parola chiave array
. Questo metodo segue l’approccio orientato agli oggetti.
Introdurremo anche un altro metodo per convertire l’oggetto in array associativo in PHP utilizzando le funzioni json_encode()
e json_decode()
. Useremo la StdClass
per creare l’oggetto e le proprietà dinamiche.
Usa la parola chiave array
per digitare l’oggetto StdClass
da convertire in un array associativo in PHP
Possiamo creare la classe vuota StdClass
per creare un oggetto in PHP e utilizzare l’oggetto per creare proprietà. L’oggetto della classe può accedere direttamente alle proprietà. Può anche creare proprietà dinamiche per la classe. Possiamo usare l’oggetto array
per digitare l’oggetto in un array. La funzione var_dump()
scarica le informazioni sul tipo e sui valori dell’array.
Ad esempio, creare un oggetto $object
della StdClass
utilizzando l’operatore new
. Crea due proprietà usando il $oggetto
chiamato car1
e car2
. Assegnare le proprietà con i valori porsche
e bugatti
. Usa la parola chiave array
per digitare la variabile $object
. Avvolgi la parola chiave array
tra parentesi prima della variabile $object
e scarica il valore usando la funzione var_dump()
. L’esempio seguente converte gli oggetti in un array associativo, come mostrato nella sezione di output. Mostra le coppie chiave e valore per ogni elemento dell’array.
Codice di esempio:
#php 7.x
<?php
$object = new StdClass;
$object->car1 = "porsche";
$object->car2 = "bugatti";
var_dump( (array) $object );
?>
Produzione:
array(2) { ["car1"]=> string(7) "porsche" ["car2"]=> string(7) "bugatti" }
Utilizzare l’oggetto StdClass
all’interno di una classe definita dall’utente per convertire l’oggetto in un array associativo in PHP
Possiamo creare un’istanza della StdClass
nel costruttore della classe e usare la parola chiave array
per convertire l’oggetto delle classi in un array associativo. Possiamo creare una classe e definirne alcune proprietà. Il costruttore della classe inizializza le proprietà della classe su valori specifici. Possiamo creare un oggetto della StdClass
e assegnargli una delle proprietà della classe. L’operatore new
, insieme alla classe, invoca il costruttore. Possiamo usare la parola chiave array
subito prima dell’invocazione per convertire l’oggetto della classe in un array associativo.
Ad esempio, crea una classe Motorcycle
. Crea tre proprietà di classe con il modificatore di accesso private
come $name
, $color
e $type
. Creare un costruttore della classe e all’interno del costruttore inizializzare i valori delle proprietà. Scrivi Husky
per name
, white
per color
e crea un oggetto della StdClass
per tipe
. Usa la parola chiave $this
per inizializzare le proprietà. Al di fuori della classe, invoca la classe Motorcycle
e usa la parola chiave array
per eseguire il typecast prima di invocare. Utilizzare la funzione var_dump()
per scaricare le informazioni sull’array typecast.
Codice di esempio:
#php 7.x
class Motorcycle{
private $name;
private $color;
private $type;
public function __construct(){
$this->name = "Husky";
$this->color = "white";
$this->type = new StdClass;
}
}
var_dump( (array) new Motorcycle );
Produzione:
array(3) { ["Motorcyclename"]=> string(5) "Husky" ["Motorcyclecolor"]=> string(5) "white" ["Motorcycletype"]=> object(stdClass)#2 (0) { } }
Usa le funzioni json_encode()
e json_decode()
per convertire l’oggetto in un array associativo in PHP
La funzione json_encode()
codifica un valore nell’oggetto JSON e la funzione json_decode()
converte l’oggetto JSON nell’oggetto PHP. Il valore booleano, il secondo parametro della funzione json_decode()
, indica cosa deve essere convertito l’oggetto JSON. Il valore true
convertirà l’oggetto JSON in un array associativo, mentre il valore false
lo convertirà in un oggetto PHP.
Ad esempio, creare un oggetto della StdClass
e assegnarlo alla variabile $object
. Denominare due valori della proprietà dell’oggetto come Mustang
e Manang
e memorizzarli nella variabile place1
e place2
. Usa la funzione json_encode()
sulla variabile $object
e memorizza il valore nella variabile $json
. Quindi, usa la funzione json_decode()
sulla variabile $json
e usa il valore booleano true
come secondo parametro. Memorizza il valore nella variabile $array
. Scarica la variabile usando la funzione var_dump()
.
Nell’esempio seguente, la variabile $object
contiene l’oggetto StdClass
. La funzione json_ecode()
converte l’oggetto nella stringa JSON. La funzione json_decode()
converte la stringa JSON nell’array associativo.
Codice di esempio:
#php 7.x
<?php
$object = new StdClass;
$object->place1 = "Mustang";
$object->place2 = "Manang";
$json= json_encode($object);
$array = json_decode($json, true);
var_dump($array);
?>
Produzione:
array(2) { ["place1"]=> string(7) "Mustang" ["place2"]=> string(6) "Manang" }
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn