Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tatasusunan objek php kepada tatasusunan biasa

Bagaimana untuk menukar tatasusunan objek php kepada tatasusunan biasa

PHPz
PHPzasal
2023-04-23 09:12:21513semak imbas

Dalam pembangunan PHP, kami sering menggunakan penukaran antara tatasusunan objek dan tatasusunan biasa, terutamanya apabila memproses data, penukaran ini sangat biasa. Oleh itu, artikel ini akan menerangkan cara menukar tatasusunan objek PHP kepada tatasusunan biasa.

Dalam PHP, tatasusunan objek merujuk kepada tatasusunan yang terdiri daripada objek, manakala tatasusunan biasa merujuk kepada tatasusunan yang terdiri daripada jenis data asas. Tatasusunan objek biasanya dikembalikan oleh hasil pertanyaan pangkalan data, terutamanya apabila menggunakan rangka kerja ORM Rangka kerja ORM akan merangkum data dalam pangkalan data ke dalam tatasusunan objek.

Penukaran antara tatasusunan objek dan tatasusunan biasa adalah sangat mudah dan boleh dilakukan menggunakan fungsi terbina dalam dalam PHP. Di bawah kami akan menerangkan langkah demi langkah bagaimana untuk menukar.

  1. Fungsi terbina dalam dalam PHP

Dalam PHP, terdapat dua fungsi terbina dalam yang boleh melengkapkan penukaran antara tatasusunan objek dan tatasusunan biasa:

  • get_object_vars(): Tukar objek kepada tatasusunan dan kembalikan tatasusunan bersekutu yang terdiri daripada atribut, dengan kuncinya ialah nama atribut dan nilainya ialah nilai atribut.
  • json_decode(): Menukar rentetan berformat JSON kepada tika atau tatasusunan PHP dan mengembalikan tatasusunan PHP standard.
  1. Gunakan fungsi get_object_vars()

Kita boleh menukar tatasusunan objek kepada tatasusunan biasa melalui fungsi get_object_vars(). Fungsi ini mengambil parameter objek dan mengembalikan tatasusunan sifat bersekutu. Berikut ialah contoh kod menggunakan fungsi get_object_vars():

class Person {
    public $name = "John";
    public $age = 25;
    private $password = "123456";

    public function showDetails() {
        echo $this->name . " is " . $this->age . " years old \n";
    }
}

$person1 = new Person();
$person2 = new Person();
$person2->name = "Jessica";
$person2->age = 30;

$personArray1 = get_object_vars($person1);
$personArray2 = get_object_vars($person2);

print_r($personArray1);
print_r($personArray2);

Output:

Array
(
    [name] => John
    [age] => 25
)

Array
(
    [name] => Jessica
    [age] => 30
)

Seperti yang anda lihat, selepas menggunakan fungsi get_object_vars(), kami berjaya menukar tatasusunan objek menjadi tatasusunan biasa.

  1. Gunakan fungsi json_decode()

Selain menggunakan fungsi get_object_vars(), kita juga boleh menggunakan fungsi json_decode() untuk menukar tatasusunan objek menjadi tatasusunan biasa. Fungsi ini menerima parameter rentetan JSON dan mengembalikan tatasusunan PHP standard. Berikut ialah contoh kod menggunakan fungsi json_decode():

class Person {
    public $name = "John";
    public $age = 25;
    private $password = "123456";

    public function showDetails() {
        echo $this->name . " is " . $this->age . " years old \n";
    }
}

$person1 = new Person();
$person2 = new Person();
$person2->name = "Jessica";
$person2->age = 30;

$json1 = json_encode($person1);
$json2 = json_encode($person2);

$personArray1 = json_decode($json1, true);
$personArray2 = json_decode($json2, true);

print_r($personArray1);
print_r($personArray2);

Output:

Array
(
    [name] => John
    [age] => 25
)

Array
(
    [name] => Jessica
    [age] => 30
)

Selepas menggunakan fungsi json_decode(), kami juga berjaya menukar tatasusunan objek menjadi tatasusunan biasa.

  1. Ringkasan

Menukar tatasusunan objek PHP kepada tatasusunan biasa adalah sangat mudah, cuma gunakan fungsi get_object_vars() atau fungsi json_decode() untuk melengkapkan. Menggunakan fungsi get_object_vars() boleh terus menukar objek kepada tatasusunan, manakala menggunakan fungsi json_decode() memerlukan menukar objek kepada rentetan dalam format JSON dahulu, dan kemudian menukar rentetan itu kepada tatasusunan. Tidak kira kaedah yang digunakan, ia boleh memenuhi keperluan kita semasa memproses data.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan objek php kepada tatasusunan biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn