Rumah > Artikel > pembangunan bahagian belakang > penukaran tatasusunan tanpa kunci php
Dalam PHP, kami biasanya menggunakan tatasusunan untuk menyimpan atau mengendalikan sekumpulan data yang berkaitan. Kadangkala, kita perlu menukar tatasusunan tanpa kunci (iaitu tatasusunan tanpa subskrip tertentu) kepada tatasusunan berkunci. Artikel ini akan memperkenalkan cara menukar tatasusunan tanpa kunci kepada tatasusunan berkunci.
1. Mengapakah anda perlu menukar tatasusunan tanpa kunci kepada tatasusunan berkunci
Dalam PHP, tatasusunan boleh menggunakan subskrip angka atau subskrip rentetan untuk mengakses elemen di dalamnya. Apabila kami menggunakan subskrip berangka, PHP akan menetapkan subskrip lalai kepada elemen dalam susunan ia muncul dalam tatasusunan. Walau bagaimanapun, apabila kita perlu mengisih, mencari atau mengendalikan tatasusunan, kita perlu menggunakan subskrip tersuai. Pada masa ini, jika tatasusunan tidak menentukan subskrip, ia perlu ditukar kepada tatasusunan berkunci.
2. Gunakan fungsi array_combine() untuk menukar tatasusunan tanpa kunci kepada tatasusunan berkunci
PHP menyediakan fungsi array_combine() untuk menggabungkan dua tatasusunan menjadi satu tatasusunan. Parameter pertama fungsi array_combine() ialah tatasusunan yang digunakan sebagai nama kunci, dan parameter kedua ialah tatasusunan yang digunakan sebagai nilai kunci. Jika bilangan elemen dalam dua tatasusunan tidak sama, fungsi array_combine() akan mengembalikan palsu.
Apabila kita ingin menukar tatasusunan tanpa kunci kepada tatasusunan berkunci, kita boleh mula-mula mencipta tatasusunan kunci baharu dan kemudian memanggil fungsi array_combine() untuk menggabungkannya dengan tatasusunan asal.
Berikut ialah contoh kod untuk menukar tatasusunan tanpa kunci kepada tatasusunan berkunci:
$arr = [10, 20, 30, 40, 50]; // 无键数组 $keys = range(1, count($arr)); // 创建新的键名数组 $new_arr = array_combine($keys, $arr); // 将新的键名数组和原数组组合 print_r($new_arr); // 输出有键数组
Hasil keluaran:
Array ( [1] => 10 [2] => 20 [3] => 30 [4] => 40 [5] => 50 )
3. Berikan nama kunci kepada elemen tatasusunan mengikutnya taip
Kadangkala, kita juga boleh menetapkan nama kunci kepada elemen tatasusunan berdasarkan jenisnya. Sebagai contoh, apabila elemen dalam tatasusunan adalah rentetan, anda boleh menggunakan rentetan sebagai nama kunci apabila elemen adalah integer atau nombor titik terapung, anda boleh menggunakan nilai elemen sebagai nama kunci.
Berikut ialah contoh kod untuk menukar tatasusunan tanpa kunci kepada tatasusunan berkunci:
$arr = ['apple', 'banana', 'orange']; // 无键数组 $new_arr = []; foreach ($arr as $key => $value) { if (is_string($value)) { // 如果元素是字符串 $new_arr[$value] = $value; // 使用字符串作为键名 } else { // 如果元素是数字 $new_arr[$value] = $value; // 使用元素值作为键名 } } print_r($new_arr); // 输出有键数组
Hasil keluaran:
Array ( [apple] => apple [banana] => banana [orange] => orange )
4 di atas Bagaimana untuk menukar tatasusunan tanpa kunci kepada tatasusunan berkunci. Menggunakan fungsi array_combine() dan menetapkan kunci berdasarkan jenis elemen membolehkan kami mengendalikan tatasusunan tanpa kunci dan menukarnya menjadi tatasusunan berkunci. Dalam aplikasi praktikal, anda boleh memilih kaedah yang sesuai untuk memproses tatasusunan mengikut situasi tertentu.
Atas ialah kandungan terperinci penukaran tatasusunan tanpa kunci php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!