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

Bagaimana untuk menukar kunci tatasusunan dalam PHP

Apr 23, 2023 pm 05:49 PM

Dalam PHP, tatasusunan ialah jenis data yang sangat berguna yang boleh menyimpan berbilang nilai dan setiap nilai boleh diakses dengan kunci unik. Kekunci tatasusunan PHP boleh berupa nombor atau rentetan, tetapi apabila berurusan dengan tatasusunan besar, anda mungkin perlu menyusun semula kunci dalam tatasusunan atau menukar nama kunci. Dalam artikel ini, kita akan membincangkan cara menukar kunci tatasusunan dalam PHP.

1. Gunakan fungsi array_combine()

Fungsi array_combine() boleh menggabungkan dua tatasusunan menjadi satu tatasusunan. Tatasusunan pertama mengandungi kunci baharu dan tatasusunan kedua mengandungi nilai yang akan digunakan. Fungsi ini boleh digunakan untuk menukar nilai kunci tatasusunan asal, seperti berikut:

$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry');
$newKeys = array(1,2,3);
$newArray = array_combine($newKeys,$oldArray);
print_r($newArray);
Salin selepas log masuk

Dalam contoh ini, kita mula-mula mentakrifkan tatasusunan $oldArray yang mengandungi 3 elemen, yang kuncinya ialah a dan b c, nilai yang sepadan ialah epal, pisang dan ceri masing-masing. Seterusnya, kami mentakrifkan tatasusunan baharu $newKeys, yang mengandungi tiga nombor 1, 2 dan 3. Akhir sekali, kami menggunakan fungsi array_combine() untuk menghantar tatasusunan $newKeys sebagai kunci baharu kepada tatasusunan $oldArray, menghasilkan tatasusunan baharu $newArray di mana kunci lama ialah nilai dan kunci baharu ialah 1, 2, dan 3. Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan $newArray Hasilnya adalah seperti berikut:

Array
(
    [1] => apple
    [2] => banana
    [3] => cherry
)
Salin selepas log masuk

Kekunci di sini ialah 1, 2 dan 3 bukannya a, b dan c asal.

2. Gunakan fungsi array_values() dan array_flip() fungsi

array_values() fungsi boleh mengembalikan semua nilai dalam tatasusunan dan mengindeks semula kunci asal sebagai kunci angka bermula dari 0 . Fungsi ini boleh digunakan untuk menjana tatasusunan baharu yang kuncinya adalah kekunci angka bermula dari 0. Fungsi array_flip() boleh membalikkan kekunci dan nilai dalam tatasusunan. Dengan menggabungkan kedua-dua fungsi ini, anda boleh menukar nilai kunci tatasusunan asal, seperti berikut:

$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry');
$newArray = array_flip(array_values($oldArray));
print_r($newArray);
Salin selepas log masuk

Dalam contoh ini, kita mula-mula mentakrifkan tatasusunan $oldArray yang mengandungi 3 elemen, dan kuncinya Ia adalah , b dan c masing-masing, dan nilai yang sepadan ialah epal, pisang dan ceri. Gunakan fungsi array_values() untuk menyusun semula nilai dalam tatasusunan $oldArray ke dalam kekunci angka bermula dari 0 untuk menjana tatasusunan baharu. Kemudian, gunakan fungsi array_flip() untuk membalikkan kunci dan nilai dalam tatasusunan baharu, supaya nilai asal menjadi kunci baharu, dan kunci baharu ialah kunci angka bermula dari 0. Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan $newArray Hasilnya adalah seperti berikut:

Array
(
    [apple] => 0
    [banana] => 1
    [cherry] => 2
)
Salin selepas log masuk

Kekunci baharu di sini ialah kekunci angka bermula dari 0, bukannya a, b dan c asal.

3. Gunakan fungsi array_map() dan fungsi tanpa nama

Fungsi array_map() boleh menggunakan fungsi pada semua nilai tatasusunan dan mengembalikan tatasusunan baharu. Fungsi ini boleh digunakan untuk menjana tatasusunan baharu yang kuncinya adalah nilai baharu yang diperoleh dengan menggunakan fungsi pada kunci dalam tatasusunan asal. Dengan menggabungkan fungsi tanpa nama, anda boleh menukar nilai kunci tatasusunan asal, seperti berikut:

$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry');
$newArray = array_map(function($key){
    return $key.'123';
},array_flip($oldArray));

print_r($newArray);
Salin selepas log masuk

Dalam contoh ini, kita mula-mula mentakrifkan tatasusunan $oldArray yang mengandungi 3 elemen, yang kuncinya ialah , b dan c, nilai yang sepadan ialah epal, pisang dan ceri masing-masing. Seterusnya, gunakan fungsi array_flip() untuk membalikkan kunci dan nilai dalam tatasusunan $oldArray supaya kunci baharu ialah nilai asal. Kemudian, gunakan fungsi array_map() untuk menggunakan fungsi tanpa nama pada kunci setiap elemen tatasusunan Fungsi tanpa nama ini menambah akhiran "123" pada setiap kunci, dan akhirnya mengembalikan tatasusunan baharu. Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan $newArray Hasilnya adalah seperti berikut:

Array
(
    [apple123] => 0
    [banana123] => 1
    [cherry123] => 2
)
Salin selepas log masuk

Kunci baharu di sini ialah nilai asal, dan akhiran "123" ditambahkan pada setiap kunci.

Ringkasan

Terdapat banyak cara untuk menukar kekunci tatasusunan dalam PHP, di atas adalah tiga kaedah biasa. Menggunakan kaedah ini, anda boleh menukar nilai utama tatasusunan dengan mudah untuk memenuhi pelbagai keperluan. Kaedah yang berbeza sesuai untuk situasi yang berbeza, dan anda boleh memilih kaedah yang hendak digunakan mengikut keperluan anda.

Atas ialah kandungan terperinci Bagaimana untuk menukar kunci tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah amalan terbaik untuk deduplikasi tatasusunan php Apakah amalan terbaik untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:41 PM

Artikel ini meneroka deduplikasi array PHP yang cekap. Ia membandingkan fungsi terbina dalam seperti array_unique () dengan pendekatan hashmap tersuai, menonjolkan prestasi perdagangan berdasarkan saiz array dan jenis data. Kaedah optimum bergantung pada profili

Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Adakah Deduplication Array PHP perlu dipertimbangkan untuk kerugian prestasi? Mar 03, 2025 pm 04:47 PM

Artikel ini menganalisis PHP Array Deduplication, menonjolkan kemunculan prestasi pendekatan naif (O (N²)). Ia meneroka alternatif yang cekap menggunakan array_unique () dengan fungsi tersuai, splobjectstorage, dan pelaksanaan hashset, mencapai

Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Bolehkah PHP Array Deduplication memanfaatkan keunikan nama utama? Mar 03, 2025 pm 04:51 PM

Artikel ini meneroka deduplikasi PHP Array menggunakan keunikan utama. Walaupun bukan kaedah penyingkiran pendua langsung, memanfaatkan keunikan utama membolehkan membuat array baru dengan nilai yang unik dengan nilai pemetaan ke kekunci, menimpa duplikat. AP ini

Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Bagaimana untuk melaksanakan beratur mesej (RabbitMQ, Redis) dalam PHP? Mar 10, 2025 pm 06:15 PM

Butiran artikel ini melaksanakan beratur mesej dalam PHP menggunakan RabbitMQ dan Redis. Ia membandingkan seni bina mereka (AMQP vs dalam memori), ciri-ciri, dan mekanisme kebolehpercayaan (pengesahan, urus niaga, kegigihan). Amalan terbaik untuk reka bentuk, kesilapan

Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Apakah piawaian pengekodan PHP terkini dan amalan terbaik? Mar 10, 2025 pm 06:16 PM

Artikel ini mengkaji piawaian pengekodan PHP semasa dan amalan terbaik, memberi tumpuan kepada cadangan PSR (PSR-1, PSR-2, PSR-4, PSR-12). Ia menekankan peningkatan kebolehbacaan dan kebolehkerjaan kod melalui gaya yang konsisten, penamaan bermakna, dan EFF

Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Apakah teknik pengoptimuman untuk deduplikasi tatasusunan php Mar 03, 2025 pm 04:50 PM

Artikel ini meneroka mengoptimumkan deduplikasi array PHP untuk dataset yang besar. Ia mengkaji teknik-teknik seperti array_unique (), array_flip (), splobjectstorage, dan pra-sorting, membandingkan kecekapan mereka. Untuk dataset besar -besaran, ia mencadangkan pemotongan, pangkalan data

Bagaimana saya bekerja dengan sambungan php dan pecl? Bagaimana saya bekerja dengan sambungan php dan pecl? Mar 10, 2025 pm 06:12 PM

Butiran artikel ini memasang dan menyelesaikan masalah PHP, memberi tumpuan kepada PECL. Ia meliputi langkah pemasangan (mencari, memuat turun/menyusun, membolehkan, memulakan semula pelayan), teknik penyelesaian masalah (memeriksa log, mengesahkan pemasangan,

Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Bagaimana menggunakan refleksi untuk menganalisis dan memanipulasi kod PHP? Mar 10, 2025 pm 06:12 PM

Artikel ini menerangkan API Refleksi PHP, membolehkan pemeriksaan runtime dan manipulasi kelas, kaedah, dan sifat. IT memperincikan kes penggunaan biasa (penjanaan dokumentasi, ORM, suntikan pergantungan) dan memberi amaran terhadap prestasi overhea

See all articles