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

Bagaimana untuk menukar nilai kunci dalam tatasusunan php

王林
王林asal
2023-05-19 09:47:37506semak imbas

Dalam PHP, terdapat banyak cara untuk menukar nilai kunci tatasusunan Berikut ialah beberapa kaedah biasa:

1 Gunakan fungsi array_combine()

fungsi array_combine(). kepada Dua tatasusunan digabungkan menjadi tatasusunan baharu, satu daripadanya ialah nama kunci, dan tatasusunan yang lain ialah nilai kunci Fungsi ini boleh digunakan untuk menukar nama kunci dan nilai kunci tatasusunan asal:

$original_array = array('key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3');
$new_keys = array('new_key1', 'new_key2', 'new_key3');

$flipped_array = array_combine($new_keys, $original_array);
print_r($flipped_array);

Hasil keluaran ialah :

Array
(
    [new_key1] => value1
    [new_key2] => value2
    [new_key3] => value3
)

2 Gunakan fungsi array_flip()

fungsi array_flip() digunakan untuk menukar nama kunci dan nilai kunci dalam tatasusunan, menggunakan nama kunci tatasusunan asal sebagai nilai kunci, dan yang asal Nilai kunci tatasusunan digunakan sebagai nama kunci:

$original_array = array('key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3');

$flipped_array = array_flip($original_array);
print_r($flipped_array);

Hasil output ialah:

Array
(
    [value1] => key1
    [value2] => key2
    [value3] => key3
)

Jika kunci nilai dalam tatasusunan asal tidak unik, pertukaran nama kunci dan nilai kunci melalui kaedah ini akan mengakibatkan separa Maklumat hilang.

3. Gunakan gelung foreach

Gunakan gelung foreach untuk melintasi elemen dalam tatasusunan asal satu demi satu, dan tetapkan semula nama kunci dan nilai kuncinya:

$original_array = array('key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3');

$new_keys = array('new_key1', 'new_key2', 'new_key3');

$new_array = array();
foreach ($original_array as $key => $value) {
    $new_key = isset($new_keys[$key]) ? $new_keys[$key] : $key;
    $new_array[$new_key] = $value;
}

print_r($new_array);

Output hasilnya ialah:

Array
(
    [new_key1] => value1
    [new_key2] => value2
    [new_key3] => value3
)

Kaedah ini lebih fleksibel dan nama kunci baharu boleh disesuaikan mengikut keperluan.

4 Gunakan fungsi array_map()

Fungsi array_map() digunakan untuk menggunakan fungsi panggil balik pada setiap elemen dalam tatasusunan dan menggunakan nilai pulangan fungsi panggil balik sebagai nilai elemen tatasusunan baharu. Melalui kaedah ini, nama kunci dalam tatasusunan asal boleh diubah suai:

$original_array = array('key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3');

$new_array = array_map(function($value) {
    return $value . '_new';
}, $original_array);

print_r($new_array);

Hasil output ialah:

Array
(
    [key1] => value1_new
    [key2] => value2_new
    [key3] => value3_new
)

Melalui kaedah ini, nama kunci dalam tatasusunan asal boleh diubah suai dengan mudah, tetapi Kaedah pengubahsuaian agak tetap, dan nama kunci hanya boleh disambung dan diubah suai terus dalam fungsi panggil balik.

Ringkasan

Terdapat banyak cara untuk menukar nilai kunci tatasusunan dalam PHP Anda boleh memilih kaedah yang paling sesuai mengikut situasi sebenar. Yang biasa digunakan termasuk fungsi array_combine(), array_flip() fungsi, foreach loop dan array_map() fungsi, dsb. Jika anda perlu menyesuaikan nama kunci baharu, adalah disyorkan untuk menggunakan gelung foreach jika anda mahu mengubah suai nama kunci asal secara langsung, anda boleh menggunakan fungsi array_map(). Nama kunci dan nilai kunci tatasusunan adalah sangat penting untuk penggunaan tatasusunan Pengubahsuaian yang munasabah seperti yang diperlukan boleh menjadikan program lebih fleksibel dan cekap.

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