Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar nilai kunci kepada nilai dalam tatasusunan php

Bagaimana untuk menukar nilai kunci kepada nilai dalam tatasusunan php

PHPz
PHPzasal
2023-04-19 14:11:56604semak imbas

PHP ialah bahasa skrip sebelah pelayan yang sangat popular dengan fungsi tatasusunan yang berkuasa memberikan kemudahan kepada pengaturcara. Tatasusunan ialah struktur yang digunakan untuk menyimpan data, biasanya disusun dalam pasangan nilai kunci. Struktur ini menjadikannya sangat mudah untuk kami mengakses dan mengendalikan data dalam tatasusunan. Walau bagaimanapun, kadangkala kita perlu menukar kunci dan nilai tatasusunan, seperti menukar kunci dalam pasangan nilai kunci kepada nilai dan menukar nilai menjadi kunci. Artikel ini akan memperkenalkan cara menggunakan fungsi terbina dalam PHP untuk menyelesaikan tugas ini.

1. Tukar kekunci tatasusunan kepada nilai

Kita boleh menggunakan fungsi array_values ​​PHP untuk menukar kunci dalam tatasusunan kepada nilai. Fungsi ini akan mengembalikan tatasusunan baharu yang mengandungi semua nilai dalam tatasusunan asal, tetapi dengan kekunci dinomborkan semula. Sebagai contoh, jika tatasusunan asal kelihatan seperti ini:

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange");

kita boleh menggunakan fungsi array_values ​​​​untuk menukarnya kepada:

$new_fruits = array_values($fruits);
// $new_fruits = array("red", "yellow", "orange");

Pada masa ini, susunan dalam tatasusunan baru adalah sama dengan tatasusunan asal, Tetapi kunci ditukar kepada indeks berangka. Ini boleh berguna dalam beberapa kes, seperti apabila kita perlu mengisih tatasusunan, kita boleh menukar kunci kepada nilai dahulu dan kemudian menukar nilai kembali kepada kunci selepas mengisih.

2. Tukar nilai tatasusunan menjadi kunci

Untuk menukar nilai tatasusunan kepada kunci, kita boleh menggunakan fungsi array_flip PHP. Fungsi ini akan mengembalikan tatasusunan baharu di mana nilai dalam tatasusunan asal dianggap sebagai kunci dan kunci dalam tatasusunan asal dianggap sebagai nilai. Sebagai contoh, jika tatasusunan asal kelihatan seperti ini:

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange");

kita boleh menggunakan fungsi array_flip untuk menukarnya kepada:

$new_fruits = array_flip($fruits);
// $new_fruits = array("red" => "apple", "yellow" => "banana", "orange" => "orange");

Pada masa ini, kunci dalam tatasusunan baharu ialah nilai dalam tatasusunan asal, dan nilai kunci ialah kunci dalam tatasusunan asal. Jika tatasusunan asal mempunyai nilai pendua, hanya nilai terakhir yang akan ditinggalkan dalam tatasusunan yang ditukar.

3. Gunakan fungsi array_map untuk mencapai penukaran yang lebih kompleks

Fungsi array_values ​​​​dan array_flip boleh menyelesaikan tugas penukaran yang paling asas, tetapi kadangkala kita memerlukan penukaran yang lebih kompleks. Pada ketika ini, anda boleh menggunakan fungsi array_map PHP. Fungsi array_map boleh menerima satu atau lebih tatasusunan sebagai parameter dan menghantar elemen setiap tatasusunan kepada fungsi panggil balik untuk diproses. Output fungsi panggil balik akan digabungkan menjadi tatasusunan baharu dan dikembalikan. Oleh itu, kita boleh melaksanakan logik penukaran arbitrari dalam fungsi panggil balik.

Sebagai contoh, katakan kita mempunyai tatasusunan di mana setiap nilai ialah nama seseorang dan kami ingin menukar semua huruf dalam nama itu kepada huruf besar dan menggunakan rentetan yang ditukar sebagai kunci tatasusunan baharu, nilai yang sepadan dalam tatasusunan asal digunakan sebagai nilai tatasusunan baharu, yang boleh dilaksanakan seperti berikut:

$names = array("Alice", "Bob", "Charlie");

$new_array = array_map(function($name) {
    $key = strtoupper($name); // 将名字转换为大写字母作为新数组的键
    $value = mt_rand(1, 100); // 假设值是一个随机数

    return [$key => $value]; // 返回一个新的数组
}, $names);

print_r($new_array);

Output:

Array
(
    [ALICE] => 40
    [BOB] => 55
    [CHARLIE] => 75
)

Pada masa ini, kekunci masuk tatasusunan baharu ditulis dengan huruf besar dalam huruf nama, manakala nilainya ialah nombor rawak. Kami boleh melaksanakan sebarang logik penukaran dalam fungsi panggil balik mengikut keperluan sebenar.

Ringkasan

Fungsi tatasusunan PHP sangat berkuasa dan boleh membantu kami menyimpan dan memanipulasi data dengan cepat. Kadangkala, kita perlu menukar kunci dan nilai tatasusunan. Anda boleh menggunakan fungsi array_values ​​PHP untuk menukar kunci tatasusunan kepada nilai, gunakan fungsi array_flip untuk menukar nilai tatasusunan kepada kunci, atau gunakan fungsi array_map untuk melaksanakan logik penukaran yang lebih kompleks. Fungsi ini boleh membantu kami menukar tatasusunan dengan cepat dan meningkatkan kecekapan program.

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