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

Bagaimana untuk menukar nilai kunci tatasusunan dalam php

PHPz
Lepaskan: 2023-04-18 10:37:45
asal
687 orang telah melayarinya

Dalam PHP, tatasusunan ialah struktur data yang sangat berkuasa yang boleh menyimpan dan mengakses sejumlah besar data dengan cepat. Semasa proses pembangunan, kita selalunya perlu menjana tatasusunan baharu daripada tatasusunan dan mengubah suai nilai utama setiap elemen tatasusunan asal. Pada masa ini, anda perlu menggunakan beberapa fungsi PHP untuk menukar nilai kunci tatasusunan.

PHP menyediakan banyak kaedah untuk menukar nilai kunci tatasusunan. Berikut adalah beberapa kaedah yang biasa digunakan.

1. Gunakan fungsi array_combine

Fungsi array_combine ialah fungsi terbina dalam PHP Ia boleh digunakan untuk menggunakan nama kunci tatasusunan sebagai nama kunci tatasusunan baharu dan nilai tatasusunan sebagai nama kunci tatasusunan baharu. Sintaks fungsi ini adalah seperti berikut:

array_combine(array $keys , array $values ) : array
Salin selepas log masuk

Fungsi ini mempunyai dua parameter, iaitu tatasusunan nama kunci asal tatasusunan yang perlu diubah suai dan tatasusunan nama kunci yang diubah suai. Jika nombor dua tatasusunan tidak konsisten, palsu dikembalikan jika tidak, tatasusunan baharu dikembalikan.

Contohnya:

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange");
$newKeys = array("a", "b", "c");
$newFruits = array_combine($newKeys, $fruits);
print_r($newFruits);
Salin selepas log masuk

Hasil pelaksanaan:

Array
(
    [a] => red
    [b] => yellow
    [c] => orange
)
Salin selepas log masuk

Dalam kod di atas, kami menggunakan nama kunci tatasusunan $fruits sebagai nilai tatasusunan baru, dan $newKeys digunakan sebagai nama kunci tatasusunan baharu, dan tatasusunan $newFruits dijana.

2. Gunakan fungsi array_walk

Fungsi array_walk juga merupakan salah satu fungsi terbina dalam PHP Ia boleh melintasi setiap elemen dalam tatasusunan dan memanggil fungsi panggil balik tersuai untuk menukar nama kunci .

Sintaks fungsi ini adalah seperti berikut:

array_walk(array &$array , callable $callback [, mixed $userdata = NULL ] ) : bool
Salin selepas log masuk

Parameter pertama fungsi ini ialah tatasusunan yang perlu diubah suai, dan parameter kedua ialah fungsi panggil balik tersuai, yang digunakan untuk mengubah suai Nama kunci dalam tatasusunan asal. Parameter ketiga ialah data pengguna pilihan.

Contohnya:

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange");
function changeKey(&$value, $key, $prefix) {
    $value = $prefix . $key;
}
array_walk($fruits, 'changeKey', 'fruit_');
print_r($fruits);
Salin selepas log masuk

Hasil pelaksanaan:

Array
(
    [fruit_apple] => red
    [fruit_banana] => yellow
    [fruit_orange] => orange
)
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan changeKey fungsi panggil balik tersuai, yang menerima Tiga parameter: rujukan kepada elemen tatasusunan, nama kunci elemen dan data pengguna. Dalam fungsi panggil balik ini, kami menambah awalan "fruit_" pada nama kunci asal.

3. Gunakan fungsi array_map

Fungsi array_map juga merupakan salah satu kaedah tatasusunan. Ia boleh menerima berbilang tatasusunan sebagai parameter dan menghantarnya kepada fungsi panggil balik. Dalam fungsi panggil balik, kita boleh mengubah suai kekunci dalam tatasusunan asal untuk menjana tatasusunan baharu.

Sintaks fungsi ini adalah seperti berikut:

array_map(callable $callback , array $array1 [, array $array2, ... ] ) : array
Salin selepas log masuk

Parameter pertama bagi fungsi ini ialah fungsi panggil balik, yang akan menerima elemen pelbagai tatasusunan yang disebut di atas sebagai parameter dan kembali tatasusunan baharu. Ambil perhatian bahawa semua tatasusunan parameter mesti mempunyai bilangan elemen yang sama.

Contohnya:

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange");
$keysSuffix = array("1", "2", "3");
$newKeys = array_map(function($key, $suffix) {
    return $key . $suffix;
}, array_keys($fruits), $keysSuffix);
$newFruits = array_combine($newKeys, $fruits);
print_r($newFruits);
Salin selepas log masuk

Hasil pelaksanaan:

Array
(
    [apple1] => red
    [banana2] => yellow
    [orange3] => orange
)
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi array_keys untuk mendapatkan nama kunci tatasusunan asal, gunakan Fungsi array_map menambah akhiran awalan pada nama kunci asal. Akhir sekali, kami menggunakan fungsi array_combine untuk menggabungkan nama kunci baharu dan nilai asal ke dalam tatasusunan baharu.

Ringkasnya, kita boleh menggunakan pelbagai kaedah untuk menukar nilai kunci tatasusunan dalam PHP, setiap kaedah mempunyai kelebihan dan kekurangannya sendiri. Apabila menggunakannya, kita perlu memilih kaedah yang paling sesuai untuk mencapai keperluan kita berdasarkan situasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menukar nilai kunci 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