Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menggantikan kunci dalam tatasusunan php

Bagaimana untuk menggantikan kunci dalam tatasusunan php

PHPz
PHPzasal
2023-04-20 09:11:17479semak imbas

PHP ialah bahasa pengaturcaraan popular yang biasa digunakan untuk pembangunan web, terutamanya pembangunan bahagian belakang. Dalam PHP, tatasusunan ialah jenis data yang sangat penting dan struktur data yang kerap digunakan dalam pembangunan. Tatasusunan boleh menyimpan berbilang nilai, dan nilai ini boleh diakses dengan kunci.

Apabila menulis kod PHP, kita selalunya perlu beroperasi pada tatasusunan. Satu operasi biasa ialah menggantikan kunci dalam tatasusunan. Artikel ini akan memperkenalkan kaedah dan teknik menggantikan kunci dalam tatasusunan PHP.

Bilakah saya perlu menggantikan kekunci tatasusunan?

Apabila menggunakan tatasusunan PHP, anda mungkin menghadapi situasi di mana kunci tatasusunan perlu diganti. Berikut ialah beberapa situasi biasa:

1. Namakan semula kunci tatasusunan

Kadangkala, kita perlu menukar nama kunci tatasusunan kepada nama lain. Contohnya, apabila kami menanyakan data daripada pangkalan data, kami mungkin menggunakan nama lajur daripada pangkalan data sebagai kunci tatasusunan. Walau bagaimanapun, nama lajur ini selalunya tidak mematuhi spesifikasi pengaturcaraan kami atau kami perlu menggunakan nama yang berbeza dalam kod. Dalam kes ini, adalah perlu untuk menggantikan kekunci tatasusunan.

2. Kekunci pendua wujud dalam tatasusunan

Dalam sesetengah kes, anda mungkin menghadapi kunci pendua dalam tatasusunan. Ini mungkin disebabkan oleh sumber data yang berbeza. Contohnya, mendapatkan data yang sama daripada dua antara muka yang berbeza, tetapi nama utama yang ditakrifkan oleh kedua-dua antara muka adalah berbeza. Untuk menyelesaikan masalah ini, kita boleh menggantikan satu kunci dengan kunci lain dan menyatukan penamaan kunci.

3. Hasil pertanyaan pangkalan data perlu diformatkan

Apabila kami menanyakan data daripada pangkalan data, hasilnya disimpan dalam tatasusunan berbilang dimensi. Setiap elemen tatasusunan mewakili satu baris data daripada hasil pertanyaan, dan kunci mewakili medan baris data tersebut. Apabila tiada alias disediakan, kunci ini cenderung kepada nama medan pangkalan data. Nama ini kadangkala rumit atau tidak konsisten dengan konvensyen pengaturcaraan kami. Dalam kes ini, kita boleh menggunakan penggantian kunci tatasusunan untuk memformat nama kunci untuk hasil pertanyaan pangkalan data.

4. Perlu menyusun semula tatasusunan

Penggantian kunci tatasusunan juga boleh membantu kami menyusun semula tatasusunan. Penggantian kunci tatasusunan ialah alat yang berguna jika anda ingin menyusun semula susunan elemen dalam tatasusunan dan menyimpannya dalam tatasusunan baharu.

Cara untuk menggantikan kunci dalam tatasusunan PHP

Sesetengah orang mungkin mahu menggunakan gelung untuk mengakses elemen tatasusunan demi elemen dan menggantikan kekunci lama dengan yang baharu. Tetapi pendekatan ini boleh menjadi rumit dan boleh memakan masa dan sumber untuk tatasusunan yang besar. Jadi, dalam siaran ini, kami akan memperkenalkan dua cara yang lebih mudah untuk menggantikan kunci dalam tatasusunan PHP.

1. array_combine()

Fungsi array_combine() dalam PHP boleh menggabungkan dua tatasusunan menjadi tatasusunan bersekutu, di mana nilai satu tatasusunan digunakan sebagai kunci tatasusunan baharu, manakala nilai tatasusunan yang lain ialah Nilai satu tatasusunan digunakan sebagai nilai tatasusunan baharu. Fungsi ini menerima dua parameter, parameter pertama ialah tatasusunan kunci, dan parameter kedua ialah tatasusunan nilai.

Seterusnya, kami akan menggantikan kekunci dengan menggabungkan nilai satu tatasusunan dengan kunci tatasusunan lain. Katakan kita mempunyai tatasusunan berikut:

$keys = array('name', 'age', 'sex');
$values = array('John', '30', 'Male');

Kita boleh menggunakan fungsi array_combine() untuk menggabungkan dua tatasusunan ini menjadi tatasusunan bersekutu:

$newArray = array_combine($keys, $values);
print_r($newArray);

Keluaran adalah seperti berikut:

Array
(
    [name] => John
    [age] => 30
    [sex] => Male
)

2. array_column()

Fungsi lain yang boleh digunakan untuk menggantikan kekunci tatasusunan ialah array_column(). Fungsi ini mengambil satu lajur daripada tatasusunan berbilang dimensi dan mengembalikan tatasusunan satu dimensi yang mengandungi nilai lajur itu. Menggunakan fungsi ini kita boleh mengekstrak tatasusunan kunci lama sebagai kunci baharu dan kemudian menggabungkannya dengan tatasusunan asal.

Sebagai contoh, katakan kita mempunyai tatasusunan berikut:

$original = array(
    array('name' => 'John', 'age' => '30', 'sex' => 'Male'),
    array('name' => 'Jane', 'age' => '25', 'sex' => 'Female')
);

Sekarang, kami ingin menggantikan kunci lama "nama" dengan kunci baharu "nama penuh", yang boleh diekstrak menggunakan lajur array_column() function name" dan gunakannya sebagai kunci tatasusunan baharu:

$keys = array_column($original, 'name');

Sekarang, kita mempunyai tatasusunan satu dimensi yang mengandungi hanya lajur "nama". Kita boleh menggabungkannya dengan tatasusunan asal menggunakan fungsi array_combine():

$newArray = array_combine($keys, $original);
print_r($newArray);

Outputnya adalah seperti berikut:

Array
(
    [John] => Array
        (
            [name] => John
            [age] => 30
            [sex] => Male
        )

    [Jane] => Array
        (
            [name] => Jane
            [age] => 25
            [sex] => Female
        )

)

Kesimpulan

Dalam artikel ini, kami memperkenalkan Dua kaedah untuk menggantikan kunci dalam tatasusunan PHP: array_combine() dan array_column(). Oleh kerana fungsi ini boleh menggantikan kekunci tatasusunan dengan kekunci baharu dengan cekap, ia boleh membantu kami menyelesaikan beberapa masalah biasa dalam pembangunan. Saya harap pembaca boleh mengetahui lebih lanjut tentang penggantian kunci tatasusunan PHP melalui artikel ini dan menerapkannya pada pembangunan mereka sendiri.

Atas ialah kandungan terperinci Bagaimana untuk menggantikan 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