PHP ialah bahasa skrip sebelah pelayan yang sangat popular digunakan untuk mencipta halaman web dinamik. Dalam PHP, tatasusunan ialah jenis data penting yang digunakan untuk menyimpan set data. Tatasusunan dalam PHP boleh dibahagikan kepada dua jenis, tatasusunan diindeks dan tatasusunan bersekutu. Tatasusunan diindeks menggunakan kunci angka sebagai indeks, manakala tatasusunan bersekutu menggunakan kunci rentetan sebagai indeks. Artikel ini akan membincangkan cara menukar tatasusunan diindeks dan tatasusunan bersekutu dalam PHP.
Menukar tatasusunan indeks kepada tatasusunan bersekutu ialah operasi biasa. Anda boleh menggunakan setiap nilai tatasusunan indeks sebagai kunci tatasusunan bersekutu dan menetapkan nilai lalai kepada setiap kunci. Berikut ialah contoh yang menunjukkan cara untuk menukar tatasusunan diindeks kepada tatasusunan bersekutu:
$index_array = array('apple', 'banana', 'orange'); $length = count($index_array); $default_value = 0; $associative_array = array(); for ($i = 0; $i < $length; $i++) { $key = $index_array[$i]; $associative_array[$key] = $default_value; } print_r($associative_array);
Dalam kod di atas, kita mula-mula mencipta tatasusunan indeks $index_array yang mengandungi nama tiga buah. Kami juga mentakrifkan nilai lalai 0 yang akan diberikan kepada semua kunci tatasusunan bersekutu yang baru dibuat. Seterusnya, kami mencipta tatasusunan bersekutu kosong $associative_array dan menggunakan gelung untuk mengulangi semua nilai tatasusunan indeks. Untuk setiap nilai, kami menetapkannya sebagai kunci tatasusunan bersekutu dan memberikannya nilai lalai 0. Akhir sekali, kami menggunakan fungsi print_r() untuk mengeluarkan tatasusunan bersekutu yang baru dibuat. Menjalankan kod ini akan mengeluarkan yang berikut:
Array ( [apple] => 0 [banana] => 0 [orange] => 0 )
Dalam output di atas, kita dapat melihat bahawa kita telah berjaya mencipta tatasusunan bersekutu baharu di mana setiap kunci ialah nilai dalam tatasusunan indeks, dan memberikan nilai lalai 0.
Terdapat beberapa isu yang perlu diberi perhatian semasa menukar tatasusunan bersekutu kepada tatasusunan indeks. Jika kunci tatasusunan bersekutu ialah rentetan, kunci ini mesti ditukar kepada nombor untuk digunakan sebagai kunci tatasusunan diindeks baharu. Ini boleh dilakukan dengan menggunakan fungsi array_values() dalam PHP. Berikut ialah contoh cara untuk menukar tatasusunan bersekutu kepada tatasusunan diindeks:
$associative_array = array( 'apple' => 10, 'banana' => 20, 'orange' => 30 ); $indexed_array = array_values($associative_array); print_r($indexed_array);
Dalam kod di atas, kami telah mencipta tatasusunan bersekutu yang mengandungi tiga buah dan harga yang sepadan. Seterusnya, kami menukar tatasusunan bersekutu kepada tatasusunan diindeks menggunakan fungsi array_values(). Akhir sekali, kami menggunakan fungsi print_r() untuk mengeluarkan tatasusunan indeks yang baru dibuat. Menjalankan kod ini akan mengeluarkan yang berikut:
Array ( [0] => 10 [1] => 20 [2] => 30 )
Dalam output di atas, kita dapat melihat bahawa kita telah berjaya mencipta tatasusunan diindeks baharu yang mengandungi semua nilai daripada tatasusunan bersekutu asal, tetapi bukan kunci. Ini kerana kami menggunakan fungsi array_values() untuk mengekstrak semua nilai daripada tatasusunan bersekutu dan menyimpannya dalam tatasusunan baharu.
Selain menukar tatasusunan indeks dan tatasusunan bersekutu secara berasingan, anda juga boleh menggabungkan kedua-dua tatasusunan ini menjadi tatasusunan baharu. Dalam kes ini, kunci tatasusunan bersekutu akan digunakan sebagai kunci tatasusunan diindeks. Berikut ialah contoh yang menunjukkan cara untuk menggabungkan tatasusunan indeks dan tatasusunan bersekutu ke dalam tatasusunan baharu:
$index_array = array('apple', 'banana', 'orange'); $associative_array = array( 'apple' => 10, 'banana' => 20, 'orange' => 30 ); $merged_array = array_merge($index_array, $associative_array); print_r($merged_array);
Dalam kod di atas, kami mula-mula mencipta tatasusunan indeks $index_array dan tatasusunan bersekutu $array_associative. Seterusnya, kami menggunakan fungsi array_merge() untuk menggabungkan kedua-dua tatasusunan ini menjadi tatasusunan baru $merged_array. Akhir sekali, kami menggunakan fungsi print_r() untuk mengeluarkan tatasusunan yang baru dibuat. Menjalankan kod ini akan mengeluarkan yang berikut:
Array ( [0] => apple [1] => banana [2] => orange [apple] => 10 [banana] => 20 [orange] => 30 )
Dalam output di atas, kita dapat melihat bahawa kita telah berjaya menggabungkan tatasusunan indeks dan tatasusunan bersekutu ke dalam tatasusunan baharu, dan tatasusunan itu mengandungi semua nilai asal dan kunci dalam tatasusunan.
Ringkasan:
Dalam PHP, tatasusunan indeks dan tatasusunan bersekutu ialah jenis data yang sangat penting. Kadangkala, kita perlu menukar tatasusunan satu jenis kepada tatasusunan jenis lain, atau menggabungkannya menjadi tatasusunan baharu. Tidak kira jenis tatasusunan yang anda perlukan, terdapat beberapa cara untuk melakukannya dalam PHP. Artikel ini menyediakan beberapa contoh kod asas untuk membantu anda memulakan tatasusunan dalam PHP.
Atas ialah kandungan terperinci Penukaran indeks php dan tatasusunan bersekutu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!