Rumah >pembangunan bahagian belakang >masalah PHP >kunci perubahan tatasusunan php

kunci perubahan tatasusunan php

王林
王林asal
2023-05-06 09:01:07737semak imbas

Dalam PHP, tatasusunan ialah jenis data yang sangat berkuasa yang boleh menyimpan berbilang nilai dan menyusunnya menggunakan pasangan nilai kunci. Kadangkala, semasa pengaturcaraan, kita perlu menukar kekunci tatasusunan sedia ada Dalam kes ini, kita boleh menggunakan beberapa fungsi yang disediakan dalam PHP untuk menyelesaikan tugasan ini.

1. Gunakan fungsi array_combine()

Apabila kita perlu menukar kekunci tatasusunan kepada nilai, kita boleh menggunakan fungsi array_flip(). Sebaliknya, untuk menukar nilai kepada kunci, kita boleh menggunakan fungsi array_combine().

Fungsi array_combine() menerima dua tatasusunan sebagai parameter, masing-masing mewakili nama kunci baharu dan nilai baharu. Tatasusunan kunci baharu mestilah tatasusunan indeks, manakala tatasusunan nilai baharu boleh menjadi tatasusunan dari sebarang jenis. Jika bilangan elemen dalam dua tatasusunan tidak konsisten, false akan dikembalikan.

Contoh berikut menunjukkan cara menggunakan fungsi array_combine() untuk menukar kekunci tatasusunan:

// 原始数组
$originalArray = array(
    'name' => 'John',
    'age' => 35,
    'gender' => 'male'
);

// 新键名数组
$newKeysArray = array(
    'person_name',
    'person_age',
    'person_gender'
);

// 使用array_combine()更改键名
$newArray = array_combine($newKeysArray, $originalArray);

// 输出新的数组
var_dump($newArray);

Output adalah seperti berikut:

array(3) {
  ["person_name"]=>
  string(4) "John"
  ["person_age"]=>
  int(35)
  ["person_gender"]=>
  string(4) "male"
}

Dalam contoh ini, kita mula-mula mentakrifkan Tatasusunan asal $originalArray. Kemudian, kami mencipta tatasusunan baharu $newKeysArray yang mengandungi nama kunci baharu. Akhir sekali, kami menggunakan fungsi array_combine() untuk menggabungkan nama kunci baharu dan nilai tatasusunan asal ke dalam tatasusunan baharu $newArray.

2. Gunakan fungsi array_map()

Fungsi array_map() ialah satu lagi fungsi yang sangat berguna dalam PHP. Ia boleh menggunakan fungsi panggil balik kepada semua elemen dalam tatasusunan. Fungsi panggil balik mesti menerima parameter yang mewakili elemen dalam tatasusunan input. Dalam fungsi panggil balik, kita boleh memproses elemen dan mengembalikan hasil yang diproses. Akhirnya, fungsi array_map() mengembalikan tatasusunan baharu yang mengandungi semua elemen yang diproses.

Perhatikan bahawa apabila menggunakan fungsi array_map(), kekunci tatasusunan input akan dikekalkan dalam tatasusunan output.

Berikut ialah contoh yang menunjukkan cara menggunakan fungsi array_map() untuk menukar kekunci tatasusunan:

// 原始数组
$originalArray = array(
    'name' => 'John',
    'age' => 35,
    'gender' => 'male'
);

// 使用array_map()更改键名
$newArray = array_map(function($value) {
    $newKey = str_replace('_', ' ', $value);
    $newKey = ucwords($newKey);
    $newKey = str_replace(' ', '', $newKey);
    return $newKey;
}, array_keys($originalArray), array_fill(0, count($originalArray), null));

$newArray = array_combine($newArray, $originalArray);

// 输出新的数组
var_dump($newArray);

Dalam contoh ini, kami mentakrifkan fungsi tanpa nama yang akan menggunakan kekunci yang dimasukkan namakan sebagai Beberapa fungsi rentetan kembali selepas diproses. Kami menggunakan fungsi array_keys() untuk mendapatkan semua kekunci tatasusunan asal, dan kemudian gunakan fungsi array_fill() untuk menjana tatasusunan dengan panjang yang sama dengan tatasusunan kunci, supaya kami boleh menghantar dua tatasusunan ini ke array_map( ) fungsi. Akhir sekali, kami menggabungkan tatasusunan nama kunci yang diproses dan nilai tatasusunan asal ke dalam tatasusunan baharu, melengkapkan pertukaran nama kunci.

3. Gunakan gelung foreach

Akhir sekali, kita boleh menggunakan gelung foreach untuk melintasi tatasusunan asal dan mencipta tatasusunan baharu dengan nama kunci baharu. Semasa proses traversal, kita perlu menetapkan kunci dan nilai tatasusunan asal kepada pembolehubah $key dan $value masing-masing, dan kemudian mencipta item tatasusunan baharu menggunakan nama kunci baharu $newKey. Pada penghujung traversal, kami mendapat tatasusunan yang sama sekali berbeza di mana nama kunci telah ditukar.

Berikut ialah contoh yang menunjukkan cara menggunakan gelung foreach untuk menukar kekunci tatasusunan:

// 原始数组
$originalArray = array(
    'name' => 'John',
    'age' => 35,
    'gender' => 'male'
);

// 新键名
$newKeys = array(
    'person_name',
    'person_age',
    'person_gender'
);

// 使用foreach循环更改键名
$newArray = array();
foreach($originalArray as $key => $value) {
    $newKey = $newKeys[$key];
    $newArray[$newKey] = $value;
}

// 输出新的数组
var_dump($newArray);

Dalam contoh ini, kita mula-mula mentakrifkan tatasusunan asal $originalArray dan tatasusunan baharu nama kunci $ newKeys. Kami kemudian menggunakan gelung foreach untuk lelaran ke atas tatasusunan asal. Dalam setiap gelung, kita dapati nama kunci baharu yang sepadan $neKey dalam tatasusunan nama kunci baharu berdasarkan kunci $kunci kitaran semasa, dan kemudian buat item tatasusunan baharu $newArray[$newKey] = $value. Selepas gelung berakhir, kami mendapat tatasusunan baharu $newArray di mana nama kunci telah ditukar.

Atas ialah kandungan terperinci kunci perubahan 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
Artikel sebelumnya:Perbezaan antara h5 dan phpArtikel seterusnya:Perbezaan antara h5 dan php