Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menukar tatasusunan kepada tatasusunan objek dalam php

Bagaimana untuk menukar tatasusunan kepada tatasusunan objek dalam php

PHPz
Lepaskan: 2023-04-12 10:01:19
asal
712 orang telah melayarinya

Dalam PHP, tatasusunan dan objek ialah dua bentuk yang berbeza, tetapi kita selalunya perlu menukar antaranya. Artikel ini akan menerangkan cara menukar tatasusunan kepada tatasusunan objek dan menukar tatasusunan objek kembali kepada tatasusunan biasa dalam PHP.

Pertama, mari kita lihat cara menukar tatasusunan biasa kepada tatasusunan objek. Dalam PHP kita boleh mencapai ini menggunakan pemutus (melemparkan tatasusunan ke objek) atau mencipta objek secara manual. Berikut ialah demonstrasi kedua-dua kaedah:

Kaedah 1: Penukaran jenis paksa

$arr = array('id'=>1, 'name'=>'John', 'age'=>25);
$obj = (object)$arr;
print_r($obj);
Salin selepas log masuk

Output:

stdClass Object
(
    [id] => 1
    [name] => John
    [age] => 25
)
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, kami menggunakan (object)Pengendali menukar tatasusunan kepada objek. Operator ini sebenarnya adalah cast yang menukar nilai skalar, tatasusunan atau sumber kepada objek. Kini $obj ialah objek dan kita boleh mengakses sifatnya seperti objek biasa.

Kaedah 2: Buat objek secara manual

$arr = array('id'=>1, 'name'=>'John', 'age'=>25);
$obj = new stdClass();
foreach ($arr as $key=>$value) {
   $obj->$key = $value;
}
print_r($obj);
Salin selepas log masuk

Output:

stdClass Object
(
    [id] => 1
    [name] => John
    [age] => 25
)
Salin selepas log masuk
Salin selepas log masuk

Dalam kod di atas, kami cipta objek kosong secara manual $obj, Kemudian gunakan gelung untuk lelaran melalui tatasusunan dan menetapkan setiap pasangan nilai kunci tatasusunan sebagai harta objek. Kini $obj ialah objek dengan tiga sifat.

Seterusnya, mari kita lihat cara menukar tatasusunan objek kepada tatasusunan biasa. Dalam PHP kita boleh mencapai ini menggunakan pemutus (melemparkan objek ke tatasusunan) atau secara manual melelaran ke atas tatasusunan objek. Berikut ialah demonstrasi kedua-dua kaedah:

Kaedah 1: Penukaran jenis paksa

$obj1 = new stdClass();
$obj1->id = 1;
$obj1->name = 'John';
$obj1->age = 25;

$obj2 = new stdClass();
$obj2->id = 2;
$obj2->name = 'Jane';
$obj2->age = 30;

$arr = array($obj1, $obj2);
$arr = (array)$arr;
print_r($arr);
Salin selepas log masuk

Output:

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [name] => John
            [age] => 25
        )

    [1] => stdClass Object
        (
            [id] => 2
            [name] => Jane
            [age] => 30
        )
)
Salin selepas log masuk

Dalam kod di atas, kami menggunakan menukar tatasusunan objek kepada tatasusunan biasa. Operator ini sebenarnya adalah pelakon yang menukar objek kepada tatasusunan. Kini (array) ialah tatasusunan biasa dan kita boleh mengakses elemennya sama seperti tatasusunan biasa. $arr

Kaedah 2: Melintasi tatasusunan objek secara manual

$obj1 = new stdClass();
$obj1->id = 1;
$obj1->name = 'John';
$obj1->age = 25;

$obj2 = new stdClass();
$obj2->id = 2;
$obj2->name = 'Jane';
$obj2->age = 30;

$arr = array($obj1, $obj2);
$new_arr = array();
foreach ($arr as $obj) {
   $new_arr[] = (array)$obj;
}
print_r($new_arr);
Salin selepas log masuk
Output:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => John
            [age] => 25
        )

    [1] => Array
        (
            [id] => 2
            [name] => Jane
            [age] => 30
        )

)
Salin selepas log masuk
Dalam kod di atas, kami melintasi tatasusunan objek

dan menambah setiap hantar objek ke tatasusunan dan tambahkannya pada tatasusunan baharu $arr. Kini $new_arr ialah tatasusunan biasa dengan dua elemen, setiap elemen ialah tatasusunan bersekutu yang mengandungi tiga pasangan nilai kunci. $new_arr

Ringkasan

Dalam PHP, kita boleh menukar antara tatasusunan dan objek menggunakan hantaran atau traversal manual. Tidak kira kaedah yang anda pilih, selagi anda memahami perbezaan antara tatasusunan dan objek, anda boleh menukar dengan mudah. Dalam pembangunan sebenar, keupayaan ini adalah sangat biasa, kerana kadangkala kita perlu menukar tatasusunan kepada objek untuk beroperasi dengan lebih baik padanya.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan kepada tatasusunan objek 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