Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar objek JS kepada tatasusunan PHP dan tatasusunan objek

Bagaimana untuk menukar objek JS kepada tatasusunan PHP dan tatasusunan objek

PHPz
PHPzasal
2023-04-18 14:07:07959semak imbas

JavaScript (JS) dan PHP adalah kedua-dua bahasa pengaturcaraan yang biasa, dan penghantaran data dan penukaran jenis data di antara mereka sering menjadi isu yang perlu kita perhatikan semasa proses pengaturcaraan. Antaranya, penukaran antara Objek dalam JS dan Array dalam PHP adalah situasi yang agak biasa. Artikel ini akan memperkenalkan cara menukar objek JS kepada tatasusunan PHP dan tatasusunan objek.

1. Konsep asas objek JS dan tatasusunan PHP

Dalam JS, objek (Objek) ialah koleksi pasangan nilai kunci tidak tertib, di mana setiap kunci ialah atribut jenis rentetan, dan setiap nilai boleh menjadi sebarang jenis data. Objek boleh dibuat oleh "{}":

var person = {
    name: 'Bob',
    age: 18,
    gender: 'male'
};

Dalam PHP, tatasusunan (Array) ialah koleksi senarai tersusun Setiap elemen dalam tatasusunan mempunyai kunci unik (kunci Ia boleh menjadi rentetan atau nombor), dan kunci ini dan nilai yang sepadan membentuk pasangan nilai kunci. Tatasusunan PHP boleh dibuat melalui "array()":

$person = array(
    'name' => 'Bob',
    'age' => 18,
    'gender' => 'male'
);

2. Tukar objek JS kepada tatasusunan PHP

Untuk menukar objek JS kepada tatasusunan PHP, anda perlu menukar JS The objek ditukar kepada data jenis rentetan, dan kemudian ditukar kepada tatasusunan PHP melalui kaedah pemprosesan tertentu. Kaedah pelaksanaan khusus adalah seperti berikut:

1 Gunakan JSON.stringify() untuk menukar objek JS kepada rentetan dalam format JSON.

var person = {
    name: 'Bob',
    age: 18,
    gender: 'male'
};

var str_person = JSON.stringify(person);

2. Gunakan json_decode() untuk menukar rentetan format JSON kepada objek PHP, dan kemudian gunakan get_object_vars() untuk menukar objek kepada tatasusunan.

$php_person = json_decode($str_person);

$php_array = get_object_vars($php_person);

3. $php_array terakhir ialah tatasusunan bersekutu, dan nilai pasangan nilai kunci boleh diperolehi melalui lintasan gelung.

foreach($php_array as $key => $value){
    echo $key . ': ' . $value . "<br />";
}

3. Menukar objek JS kepada tatasusunan objek PHP

Menukar objek JS kepada tatasusunan objek PHP adalah serupa dengan menukar objek JS kepada tatasusunan PHP Anda hanya perlu mengubah suai hasil yang ditukar melakukan beberapa pemprosesan. Kaedah pelaksanaan khusus adalah seperti berikut:

1 Gunakan JSON.stringify() untuk menukar objek JS kepada rentetan dalam format JSON.

var persons = [
    {name:'Bob',age:18},
    {name:'Tom',age:20},
    {name:'Jerry',age:22}
];

var str_persons = JSON.stringify(persons);

2. Gunakan json_decode() untuk menukar rentetan format JSON kepada tatasusunan bersekutu PHP, dan kemudian gunakan traversal gelung untuk menukarnya menjadi tatasusunan objek PHP.

$php_persons = json_decode($str_persons,true);

$php_obj_persons = array();

foreach($php_persons as $person){
    $php_obj_person = (object)$person; 
    array_push($php_obj_persons,$php_obj_person);
}

3. $php_obj_persons terakhir ialah tatasusunan objek PHP, dan nilai atribut objek boleh diperoleh melalui lintasan gelung.

foreach($php_obj_persons as $person){
    echo 'Name: ' . $person->name . ', Age: ' . $person->age . "<br />";
}

Contoh kod di atas adalah untuk rujukan sahaja, dan proses dan kaedah pelaksanaan khusus boleh dilaraskan dan dioptimumkan mengikut situasi sebenar.

Ringkasan

Artikel ini memperkenalkan cara menukar objek JS kepada tatasusunan PHP dan tatasusunan objek, yang melibatkan rentetan format JSON, fungsi json_decode(), fungsi get_object_vars() , traversal gelung dan teknik lain. Dalam proses pembangunan sebenar, memilih kaedah yang sesuai untuk pemprosesan mengikut keperluan boleh meningkatkan kecekapan dan kebolehselenggaraan kod.

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