Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar objek ke dalam array dalam php

Bagaimana untuk menukar objek ke dalam array dalam php

PHPz
Lepaskan: 2023-04-24 16:03:15
asal
647 orang telah melayarinya

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');
Salin selepas log masuk

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);
Salin selepas log masuk

Apabila kita menjalankan kod di atas, hasil output ialah:

Array
(
    [apple] => red
    [orange] => orange
    [furniture] => blue
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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);
Salin selepas log masuk

Apabila kita menjalankan kod di atas, hasil output ialah:

Array
(
    [apple] => red
    [orange] => orange
    [furniture] => blue
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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);
Salin selepas log masuk

Apabila kita menjalankan kod di atas, hasil output ialah:

Array
(
    [apple] => red
    [orange] => orange
    [furniture] => blue
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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);
Salin selepas log masuk

Apabila kita menjalankan kod di atas, hasil output ialah:

Array
(
    [apple] => red
    [orange] => orange
    [furniture] => blue
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan