Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membalikkan kunci dalam tatasusunan php

Bagaimana untuk membalikkan kunci dalam tatasusunan php

PHPz
PHPzasal
2023-04-26 14:21:18557semak imbas

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.

Terbalikkan tatasusunan menggunakan fungsi array_flip

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.

Reverse Indexed Array

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.

Terbalikkan kekunci tatasusunan berbilang dimensi

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.

Kesimpulan

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!

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