Dalam PHP, tatasusunan ialah jenis data yang sangat biasa, yang terdiri daripada satu atau lebih pasangan nilai kunci. Setiap pasangan nilai kunci terdiri daripada kunci dan nilai, dan jenis kunci dan nilai yang berbeza boleh digunakan dalam tatasusunan.
Dalam sesetengah kes, kita mungkin perlu membalikkan kekunci sambil mengekalkan nilai dalam tatasusunan. Salah satu sebab utama untuk perkara ini adalah untuk mencari nilai dalam tatasusunan dengan cepat dan mengembalikan kuncinya tanpa perlu mengulangi keseluruhan tatasusunan.
Dalam PHP, membalikkan kunci dan nilai tatasusunan adalah tugas yang agak mudah, dalam artikel ini, kami akan meneroka cara untuk membalikkan kunci tatasusunan PHP dan memberikan beberapa contoh penggunaan.
Fungsi array_flip()
dalam PHP boleh digunakan untuk membalikkan kunci dan nilai tatasusunan. Fungsi ini membalikkan hubungan antara elemen dalam tatasusunan supaya kunci semasa menjadi nilai dan nilai semasa menjadi kunci. Contoh
adalah seperti berikut:
$original_array = array('one' => 1, 'two' => 2, 'three' => 3, 'four' => 4); $reversed_array = array_flip($original_array);
Dalam kod di atas, kami mula-mula mengisytiharkan tatasusunan bersekutu mudah $original_array
, yang mempunyai empat pasangan nilai kunci. Kami kemudian membalikkan pasangan nilai kunci menggunakan fungsi array_flip()
untuk menghasilkan tatasusunan terbalik $reversed_array
.
Keluaran tatasusunan terbalik $reversed_array
adalah seperti berikut:
Array ( [1] => one [2] => two [3] => three [4] => four )
Seperti yang anda lihat, kunci dan nilai tatasusunan telah diterbalikkan dan setiap nilai menjadi The kunci baharu kunci asalnya.
Dalam PHP, jika kita ingin menterbalikkan kekunci tatasusunan yang diindeks, kita boleh menggunakan fungsi array_reverse()
. Fungsi ini membiarkan kunci dan nilai tatasusunan tidak berubah dan hanya membalikkan kedudukannya berbanding bahagian bawah tatasusunan. Contoh
adalah seperti berikut:
$original_array = array('one', 'two', 'three', 'four'); $reversed_array = array_reverse($original_array, true);
Dalam contoh di atas, kami mula-mula mengisytiharkan tatasusunan indeks baharu $original_array
, yang mengandungi empat elemen. Kami kemudian membalikkan kekunci tatasusunan ini menggunakan fungsi array_reverse()
untuk menghasilkan tatasusunan terbalik $reversed_array
. Dalam kes ini, parameter kedua ditetapkan kepada true
, yang bermaksud bahawa kunci dalam tatasusunan asal dikekalkan.
Keluaran tatasusunan terbalik $reversed_array
adalah seperti berikut:
Array ( [3] => one [2] => two [1] => three [0] => four )
Seperti yang anda lihat, kunci tatasusunan telah diterbalikkan, tetapi kedudukan elemen dalam tatasusunan mempunyai bukan Berubah.
Jika kita perlu menterbalikkan kekunci tatasusunan berbilang dimensi, kita boleh menggunakan fungsi rekursif untuk mengendalikannya. Fungsi rekursif boleh merentasi keseluruhan tatasusunan multidimensi dan membalikkan semua kekunci di dalamnya. Contoh
adalah seperti berikut:
function reverse_array_keys($array) { if (!is_array($array)) { return $array; } $new_array = array(); foreach ($array as $key => $value) { $new_key = is_numeric($key) ? $key : strrev($key); $new_array[$new_key] = reverse_array_keys($value); } return $new_array; } $original_array = array('one' => array('two' => array('three' => 'four'))); $reversed_array = reverse_array_keys($original_array);
Dalam contoh di atas, kami mula-mula mengisytiharkan tatasusunan $original_array
yang mengandungi berbilang tatasusunan bersarang. Kami kemudiannya menggunakan fungsi reverse_array_keys()
untuk menterbalikkan kekunci tatasusunan itu supaya setiap tatasusunan kuncinya terbalik.
Keluaran tatasusunan terbalik $reversed_array
adalah seperti berikut:
Array ( [eno] => Array ( [owt] => Array ( [eerht] => four ) ) )
Seperti yang anda lihat, kunci tatasusunan berbilang dimensi telah diterbalikkan dan setiap tatasusunan mempunyai kuncinya dibalikkan.
Menterbalikkan kekunci tatasusunan ialah tugas yang agak mudah dalam PHP. Kita boleh menggunakan fungsi array_flip()
untuk membalikkan kunci dan nilai tatasusunan bersekutu, fungsi array_reverse()
untuk menterbalikkan kunci tatasusunan diindeks, dan untuk tatasusunan berbilang dimensi, kita boleh menggunakan fungsi rekursif.
Tidak kira kaedah yang anda gunakan, pastikan anda memahami kesan operasi anda dan menguji prestasi kod anda seperti yang diharapkan.
Atas ialah kandungan terperinci Bagaimana untuk membalikkan kunci dalam tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!