Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar objek kepada array dalam php

Bagaimana untuk menukar objek kepada array dalam php

PHPz
PHPzasal
2023-04-23 09:10:07385semak imbas

Dalam PHP, kita biasanya mempunyai beberapa senario di mana kita perlu menukar objek kepada tatasusunan Contohnya, apabila menyimpan dan memindahkan data, kita perlu menukar objek kepada tatasusunan. PHP menyediakan beberapa kaedah mudah untuk mencapai ini, yang paling biasa ialah get_object_vars(). Kaedah

get_object_vars() boleh mendapatkan semua pembolehubah ahli dalam objek dan mengembalikannya sebagai tatasusunan bersekutu. Berikut ialah contoh:

class Person {
  public $name = "";
  public $age = "";

  public function __construct($name, $age) {
    $this->name = $name;
    $this->age = $age;
  }
}

$person = new Person("John Doe", 30);
$array = get_object_vars($person);

print_r($array);

Output:

Array
(
    [name] => John Doe
    [age] => 30
)

Dalam kod di atas, kami mencipta kelas Person dan menjadikannya sebagai objek $person. Kemudian kita panggil kaedah get_object_vars($person) dan tetapkan nilai pulangannya kepada pembolehubah $array. Akhirnya, kami mencetak tatasusunan print_r() menggunakan fungsi $array.

Selain kaedah get_object_vars(), PHP juga menyediakan beberapa kaedah lain untuk menukar objek kepada tatasusunan. Contohnya:

  • json_decode(json_encode($obj), true): Tukar objek kepada rentetan JSON, dan kemudian tukar rentetan JSON kepada tatasusunan. Kaedah ini sangat fleksibel dan boleh menukar objek berbilang dimensi kepada tatasusunan berbilang dimensi.
  • iterator_to_array($obj): Tukar objek yang melaksanakan antara muka Iterator kepada tatasusunan.
  • objectToArray(): Ini ialah kaedah tersuai yang boleh menukar secara rekursif semua objek bersarang kepada tatasusunan.

Berikut ialah contoh menggunakan kaedah json_decode() untuk menukar objek kepada tatasusunan:

class Person {
  public $name = "";
  public $age = "";
  public $address = null;

  public function __construct($name, $age, $address) {
    $this->name = $name;
    $this->age = $age;
    $this->address = $address;
  }
}

class Address {
  public $city = "";
  public $country = "";

  public function __construct($city, $country) {
    $this->city = $city;
    $this->country = $country;
  }
}

$address = new Address("Los Angeles", "USA");
$person = new Person("John Doe", 30, $address);
$array = json_decode(json_encode($person), true);

print_r($array);

Hasil keluaran:

Array
(
    [name] => John Doe
    [age] => 30
    [address] => Array
        (
            [city] => Los Angeles
            [country] => USA
        )

)

Dalam kod di atas, kami mencipta kelas Person dan kelas Address untuk mewakili orang dan alamat masing-masing. Kemudian kami mencipta objek $address dan objek $person, dan memberikan objek alamat kepada Person pembolehubah ahli objek $address. Akhir sekali, kami menggunakan kaedah json_decode() untuk menukar objek $person kepada rentetan JSON, kemudian tukar rentetan JSON kepada tatasusunan dan tetapkan ia kepada tatasusunan $array. Akhir sekali, kami mencetak tatasusunan print_r() menggunakan fungsi $array.

Secara umumnya, menukar objek kepada tatasusunan ialah kemahiran yang sangat praktikal dalam pembangunan PHP. Apabila kita perlu melakukan operasi seperti penyimpanan dan penghantaran data, kita boleh menggunakan kemahiran ini untuk memproses data dengan mudah. Beberapa kaedah yang diperkenalkan di sini adalah sangat mudah dan mudah difahami, dan boleh dipilih dan digunakan mengikut situasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menukar objek kepada array dalam php. 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