PHP ialah bahasa pengaturcaraan sebelah pelayan yang popular yang menyokong pangkalan data hubungan, mengendalikan fon, menggunakan HTML dan banyak fungsi lain. Dalam PHP, Object digunakan sebagai jenis data Object sering digunakan dalam pustaka dan rangka kerja sambungan PHP yang berbeza. Walau bagaimanapun, kadangkala adalah perlu untuk menukar Objek kepada tatasusunan untuk pemprosesan data yang lebih baik Dalam artikel ini, kami akan menerangkan cara menukar Objek kepada tatasusunan dalam PHP.
Jenis objek dalam PHP
Dalam PHP, jenis Objek dipanggil jenis sandaran, iaitu jenis data peringkat atas dan paling asas dalam PHP. Protokol jenisnya boleh menyokong contoh kelas dan objek bukan kelas.
Contohnya:
class Fruits { public $apple_color = 'red'; public $orange_color = 'orange'; function __construct($apple_color, $orange_color) { $this->apple_color = $apple_color; $this->orange_color = $orange_color; } } $fruit_instance = new Fruits('green', 'yellow'); $fruit_object = (object)array('apple' => 'red', 'orange' => 'orange', 'furniture' => 'blue');
Dalam kod di atas, Fruits
ialah kelas dan kami mencipta instance daripadanya $fruit_instance
dan objek $fruit_object
. Kedua-duanya tergolong dalam data jenis Objek, tetapi $fruit_instance
ialah "contoh kelas", manakala $fruit_object
ialah "objek bukan kelas".
Bagaimana untuk menukar Objek kepada tatasusunan dalam PHP? Berikut menyenaraikan beberapa kaedah yang boleh digunakan:
Kaedah 1: Gunakan penukaran jenis
Penukaran jenis paksa dalam PHP boleh menukar sebarang jenis objek (Objek) kepada tatasusunan. Contohnya:
$array = (array)$fruit_object; print_r($array);
Apabila kita menjalankan kod di atas, hasil output ialah:
Array ( [apple] => red [orange] => orange [furniture] => blue )
Walau bagaimanapun, perlu diingat bahawa apabila kita melakukan penukaran jenis cast, Object akan Tukar kepada tatasusunan, tetapi ini bukan hasil yang diingini kerana maklumat data asal akan hilang dan kami perlu memproses semula data secara manual untuk mengekalkan struktur asal.
Kaedah 2: Gunakan fungsi get_object_vars
Fungsi get_object_vars
dalam PHP boleh digunakan untuk mendapatkan atribut dan nilai atribut objek Objek dalam parameter dan mengembalikan tatasusunan . Contohnya:
$array = get_object_vars($fruit_object); print_r($array);
Apabila kita menjalankan kod di atas, hasil output ialah:
Array ( [apple] => red [orange] => orange [furniture] => blue )
Perlu diingatkan bahawa fungsi get_object_vars
hanya boleh mendapatkan sifat-sifat object, tiada kaedah, tetapi kita boleh mendapatkan semua sifat melalui fungsi ahli kelas.
Kaedah 3: Gunakan fungsi json_decode
Fungsi json_decode
dalam PHP juga boleh menukar rentetan format JSON kepada tatasusunan. Contohnya:
$json_str = json_encode($fruit_object); $array = json_decode($json_str, true); print_r($array);
Apabila kita menjalankan kod di atas, hasil output ialah:
Array ( [apple] => red [orange] => orange [furniture] => blue )
Perlu diingatkan bahawa fungsi json_decode
juga menyokong pemprosesan data binari .
Kaedah 4: Gunakan fungsi tersuai
Kami juga boleh menyesuaikan fungsi untuk menukar objek Objek kepada tatasusunan. Contohnya:
function object_to_array($object) { if (is_object($object)) { // 获取对象的属性和属性值 $array = get_object_vars($object); } elseif (is_array($object)) { foreach ($object as $key => $value) { $array[$key] = object_to_array($value); } } else { $array = $object; } return $array; } $array = object_to_array($fruit_object); print_r($array);
Apabila kita menjalankan kod di atas, hasil output ialah:
Array ( [apple] => red [orange] => orange [furniture] => blue )
Perlu diingatkan bahawa kita perlu membuat pertimbangan dan proses tertentu pada jenis data yang berbeza . Supaya fungsi kita boleh menangani situasi yang berbeza.
Ringkasan
Dalam PHP, jenis Objek telah digunakan secara meluas dalam aplikasi data yang berbeza Menukar Objek kepada tatasusunan menjadikan pemprosesan data lebih fleksibel dan lebih mudah. Walau bagaimanapun, apabila kita menukar Object, kita perlu memilih kaedah yang berbeza secara fleksibel mengikut situasi sebenar untuk mengekalkan struktur data dan maklumat asal dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk menukar objek ke dalam array dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!