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

Bagaimana untuk menukar kunci tatasusunan php

PHPz
PHPzasal
2023-04-25 09:04:18451semak imbas

Array ialah salah satu struktur data yang sangat penting dalam bahasa pengaturcaraan PHP, terutamanya digunakan untuk menyimpan dan memproses data. Dalam pembangunan sebenar, kadangkala perlu mengubah suai nilai utama tatasusunan untuk memenuhi keperluan khas. Artikel ini akan memperkenalkan cara mengubah suai nilai utama tatasusunan melalui fungsi terbina dalam PHP.

1. Fungsi array_flip

Fungsi array_flip boleh digunakan untuk menukar kunci dan nilai tatasusunan. Ia mengambil semua kunci dalam tatasusunan asal sebagai nilai, semua nilai dalam tatasusunan asal sebagai kunci, dan mengembalikan tatasusunan baru yang ditukar. Fungsi array_flip boleh digunakan untuk mengubah suai nilai kunci tatasusunan dengan mudah.

Kod sampel:

// 原始数组
$array1 = array('name'=>'Tom', 'age'=>20, 'gender'=>'male');

// 通过array_flip函数交换键值
$array2 = array_flip($array1);

print_r($array2);

Hasil keluaran:

Array
(
    [Tom] => name
    [20] => age
    [male] => gender
)

Seperti yang anda lihat, dalam tatasusunan yang ditukar oleh fungsi array_flip, kunci dan nilai dalam tatasusunan asal adalah Bertukar.

2. Fungsi array_walk

Fungsi array_walk boleh melintasi tatasusunan dan melaksanakan fungsi yang ditentukan pada setiap elemen. Kita boleh menyesuaikan fungsi panggil balik dan menamakan semula kunci setiap elemen dalam tatasusunan asal melalui fungsi array_walk. Dengan cara ini, nilai utama tatasusunan boleh diubah suai melalui fungsi array_walk.

Kod contoh:

// 原始数组
$array3 = array('name'=>'Tom', 'age'=>20, 'gender'=>'male');

// 自定义回调函数
function modify_key(&$value, $key)
{
    // 将原来的键名修改为新的键名
    if($key == 'name') $key = 'username';
    if($key == 'age') $key = 'userage';
    if($key == 'gender') $key = 'usergender';

    // 修改后的键名赋值给原始数组
    $value = array($key=>$value);
}

// 使用array_walk函数遍历数组并修改键名
array_walk($array3, 'modify_key');

print_r($array3);

Hasil output:

Array
(
    [0] => Array
        (
            [username] => Tom
        )

    [1] => Array
        (
            [userage] => 20
        )

    [2] => Array
        (
            [usergender] => male
        )

)

Seperti yang anda lihat, melalui fungsi panggil balik tersuai dan fungsi array_walk, kami berjaya mengubah tatasusunan asal ke dalam Nilai kunci telah diubah suai.

3. Fungsi peta_tatasusunan

Fungsi_peta tatasusunan boleh melaksanakan fungsi panggil balik yang ditentukan untuk setiap elemen dalam tatasusunan dan mengembalikan tatasusunan baharu. Dalam fungsi panggil balik, kita boleh menukar nilai kunci tatasusunan dengan mengubah suai nama kunci elemen.

Kod sampel:

// 原始数组
$array4 = array('name'=>'Tom', 'age'=>20, 'gender'=>'male');

// 自定义回调函数
function modify_key_map($value, $key)
{
    // 将原来的键名修改为新的键名
    if($key == 'name') $key = 'username';
    if($key == 'age') $key = 'userage';
    if($key == 'gender') $key = 'usergender';

    // 返回修改后的键名和值
    return array($key=>$value);
}

// 使用array_map函数遍历数组并修改键名
$array5 = array_map('modify_key_map', $array4, array_keys($array4));

print_r($array5);

Hasil output:

Array
(
    [0] => Array
        (
            [username] => Tom
        )

    [1] => Array
        (
            [userage] => 20
        )

    [2] => Array
        (
            [usergender] => male
        )

)

Dapat dilihat bahawa kami juga telah berjaya mengubah suai nilai kunci tatasusunan melalui panggilan balik tersuai fungsi dan fungsi peta_susun.

Ringkasnya, kita boleh mengubah suai nilai utama tatasusunan dengan sangat mudah melalui fungsi terbina dalam PHP. Fungsi array_flip boleh menukar terus kekunci dan nilai tatasusunan asal, manakala fungsi array_walk dan fungsi array_map boleh mengubah suai nilai utama elemen melalui fungsi panggil balik tersuai. Dalam pembangunan sebenar, kita boleh memilih kaedah yang berbeza untuk mengubah suai nilai utama tatasusunan mengikut keperluan khusus.

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