Bercakap tentang cara menukar tatasusunan atau objek kepada kamus dalam PHP

PHPz
Lepaskan: 2023-04-25 10:54:52
asal
1413 orang telah melayarinya

Dalam pembangunan PHP, kami sering menggunakan tatasusunan dan objek. Kadangkala kita perlu menukar tatasusunan atau objek ke dalam bentuk kamus untuk memudahkan pemprosesan seterusnya. Hari ini kita akan bercakap tentang cara menukar tatasusunan atau objek ke dalam kamus dalam PHP.

1. Tatasusunan ke kamus

1.1 Menggunakan fungsi array_combine

Kita boleh menggunakan array_combine fungsi terbina dalam PHP untuk menukar tatasusunan kepada kamus. Fungsi ini memerlukan dua parameter, parameter pertama ialah tatasusunan nama kunci, dan parameter kedua ialah tatasusunan nilai kunci. Mula-mula kita boleh membahagikan nama kunci dan nilai kunci dalam tatasusunan asal kepada dua tatasusunan, dan kemudian gunakan array_combine untuk menukar tatasusunan kepada kamus.

Sebagai contoh, kita mempunyai tatasusunan berikut:

$array = array('name'=>'John', 'age'=>25, 'gender'=>'Male');
Salin selepas log masuk

Kemudian, kita boleh menggunakan kod berikut untuk menukar tatasusunan kepada kamus:

$keys = array_keys($array);
$values = array_values($array);
$dict = array_combine($keys, $values);
Salin selepas log masuk

Selepas pelaksanaan, $dict akan menjadi kamus berikut:

array (
  'name' => 'John',
  'age' => 25,
  'gender' => 'Male',
)
Salin selepas log masuk
Salin selepas log masuk

1.2 Menggunakan gelung foreach

Selain menggunakan fungsi array_combine, kita juga boleh menggunakan gelung foreach untuk menukar tatasusunan menjadi kamus . Kaedah khusus adalah seperti berikut:

$array = array('name'=>'John', 'age'=>25, 'gender'=>'Male');
$dict = array();
foreach ($array as $key => $value) {
  $dict[$key] = $value;
}
Salin selepas log masuk

Selepas pelaksanaan, nilai $dict adalah konsisten dengan hasil yang ditukar menggunakan fungsi array_combine.

2. Objek kepada kamus

Seperti tatasusunan, kita juga boleh menggunakan dua kaedah untuk menukar objek kepada kamus. Berikut adalah langkah-langkah khusus.

2.1 Gunakan fungsi get_object_vars

PHP mempunyai fungsi terbina dalam get_object_vars, yang boleh mendapatkan atribut objek dan menukarnya menjadi tatasusunan. Kita boleh menggunakan fungsi ini untuk menukar objek kepada kamus.

Sebagai contoh, kita mempunyai objek berikut:

$obj = new stdClass();
$obj->name = 'John';
$obj->age = 25;
$obj->gender = 'Male';
Salin selepas log masuk

Gunakan kod berikut untuk menukar objek kepada kamus:

$dict = get_object_vars($obj);
Salin selepas log masuk

Selepas pelaksanaan, $dict akan Menjadi kamus berikut:

array (
  'name' => 'John',
  'age' => 25,
  'gender' => 'Male',
)
Salin selepas log masuk
Salin selepas log masuk

Nota: Apabila menggunakan kaedah ini, sifat objek mestilah awam atau dilindungi, jika tidak get_object_vars akan mengembalikan tatasusunan kosong.

2.2 Menggunakan gelung foreach

Seperti tatasusunan, kita juga boleh menggunakan gelung foreach untuk menukar objek kepada kamus. Kaedah khusus adalah seperti berikut:

$obj = new stdClass();
$obj->name = 'John';
$obj->age = 25;
$obj->gender = 'Male';

$dict = array();
foreach ($obj as $key => $value) {
  $dict[$key] = $value;
}
Salin selepas log masuk

Selepas pelaksanaan, nilai $dict adalah konsisten dengan hasil yang ditukar menggunakan fungsi get_object_vars.

3. Ringkasan

Di atas ialah cara menukar tatasusunan atau objek kepada kamus dalam PHP. Kaedah ini sangat berguna apabila kita perlu menukar struktur data yang kompleks kepada pasangan nilai kunci mudah. Perlu diingatkan bahawa apabila menggunakan kaedah di atas, pastikan nama kunci atau nama atribut struktur data adalah unik, jika tidak, penindasan mungkin berlaku.

Atas ialah kandungan terperinci Bercakap tentang cara menukar tatasusunan atau objek kepada kamus 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