Bagaimana untuk menukar nama lajur tatasusunan dalam php

PHPz
Lepaskan: 2023-04-05 15:24:01
asal
518 orang telah melayarinya

PHP ialah bahasa skrip sebelah pelayan yang sangat biasa digunakan. Dalam PHP, tatasusunan ialah struktur yang sangat biasa digunakan Ia boleh menyimpan berbilang elemen data dalam pembolehubah yang berasingan, menjadikannya lebih mudah untuk kami mengurus dan mengendalikan data. Walau bagaimanapun, dalam pembangunan sebenar, kadangkala perlu mengubah spesifikasi tatasusunan untuk memenuhi keperluan sebenar dengan lebih baik.

Secara amnya, kami telah pun mentakrifkan nama lajur tatasusunan apabila kami mentakrifkannya. Contohnya:

$users = array(
    array('id'=>1,'name'=>'Tom','age'=>20),
    array('id'=>2,'name'=>'John','age'=>22),
    array('id'=>3,'name'=>'Mary','age'=>21),
);
Salin selepas log masuk

Kod di atas mentakrifkan tatasusunan yang mengandungi tiga elemen tatasusunan, setiap elemen mempunyai tiga lajur: id, nama dan umur. Walau bagaimanapun, dalam pembangunan sebenar, kami mungkin perlu menukar penyenaraian untuk memenuhi keperluan sebenar dengan lebih baik. Sebagai contoh, kami ingin menukar id kepada userId, nama kepada userName dan umur kepada userAge Bagaimana untuk melakukan ini? Jawapannya ialah menggunakan fungsi array_map dalam PHP.

Pertama, kita perlu mencipta fungsi penukaran, yang memetakan nama lajur lama kepada nama lajur baharu. Sebagai contoh, kami mentakrifkan fungsi penukaran berikut:

function transformKeys($keys) {
    $newKeys = array();
    foreach ($keys as $key) {
        switch ($key) {
            case 'id':
                $newKeys[] = 'userId';
                break;
            case 'name':
                $newKeys[] = 'userName';
                break;
            case 'age':
                $newKeys[] = 'userAge';
                break;
            default:
                $newKeys[] = $key;
        }
    }
    return $newKeys;
}
Salin selepas log masuk

Fungsi ini menerima tatasusunan sebagai parameter, merentasi setiap elemen tatasusunan, menggunakan pernyataan suis untuk memetakan nama lajur lama kepada nama lajur baharu , dan mengembalikan tatasusunan baharu.

Seterusnya, kami menggunakan fungsi array_map untuk menggunakan fungsi penukaran kepada tatasusunan asal Kodnya adalah seperti berikut:

$users = array_map(function($user) {
    $keys = array_keys($user);
    $newKeys = transformKeys($keys);
    $values = array_values($user);
    $transformedValues = array_combine($newKeys, $values);
    return $transformedValues;
}, $users);
Salin selepas log masuk

Dalam kod, kami mula-mula menggunakan fungsi array_keys untuk mendapatkan. lajur tatasusunan asal, dan kemudian panggil fungsi penukaran transformKeys untuk memetakan senarai lama ke senarai baharu. Seterusnya, kami menggunakan fungsi array_values ​​sekali lagi untuk mendapatkan nilai tatasusunan asal, dan kemudian gunakan fungsi array_combine untuk menggabungkan nama lajur baharu dan nilai tatasusunan asal untuk membentuk tatasusunan baharu.

Akhir sekali, kami menetapkan tatasusunan dengan nama lajur yang ditukar kepada pembolehubah $users, menjadikannya tatasusunan dengan nama lajur yang ditukar.

Melalui operasi di atas, kami boleh menukar nama lajur tatasusunan dalam PHP dengan mudah untuk memenuhi keperluan sebenar dengan lebih baik. Sudah tentu, dalam aplikasi praktikal, kita juga perlu menganalisis situasi tertentu dan mencapai kecekapan kod terbaik sebanyak mungkin sambil memastikan kod itu ringkas dan jelas.

Atas ialah kandungan terperinci Bagaimana untuk menukar nama lajur tatasusunan 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