Apabila menulis atur cara PHP, tatasusunan dan objek sering digunakan, dan elemen dalam tatasusunan dan objek sering diakses menggunakan indeks. Secara lalai, nilai utama elemen ini akan mempunyai subskrip, yang mungkin agak menyusahkan untuk diakses. Oleh itu, kadangkala kita perlu mengeluarkan subskrip ini untuk memudahkan penulisan dan penggunaan program.
1. Mengapa mengalih keluar subskrip indeks
Dalam PHP, elemen dalam tatasusunan dan objek boleh diakses menggunakan subskrip. Subskrip boleh menjadi nombor atau rentetan. Sebagai contoh, tatasusunan biasa mungkin kelihatan seperti ini:
$fruits = array('apple', 'banana', 'orange');
Elemen dalam tatasusunan ini dilanggan dan subskrip semakin meningkat bilangannya. Oleh kerana subskrip ini penting untuk menjalankan program, ia tidak boleh dialih keluar secara lalai.
Walau bagaimanapun, terdapat kes di mana kami tidak mengambil berat tentang subskrip elemen, tetapi hanya perlu mengakses nilai elemen ini. Dalam kes ini, subskrip elemen akan menjadi beban, meningkatkan kerumitan kod dan menjadikannya sukar untuk dibaca. Oleh itu, kita perlu mengeluarkan subskrip ini untuk memudahkan penulisan dan penggunaan program.
2. Cara mengalih keluar subskrip indeks
Dalam PHP, terdapat banyak cara untuk mengalih keluar subskrip indeks daripada elemen dalam tatasusunan atau objek. Di bawah kami memperkenalkan kaedah ini masing-masing.
1. Gunakan fungsi array_values()
Fungsi array_values() boleh menyusun semula elemen dalam tatasusunan mengikut tertib dan mengembalikan tatasusunan baharu. Indeks elemen dalam tatasusunan baharu ini akan bermula dari 0 dan meningkat secara berurutan. Anda boleh menggunakan fungsi ini untuk mengalih keluar subskrip daripada tatasusunan.
Sebagai contoh, tatasusunan berikut:
$fruits = array('apple', 'banana', 'orange');
Anda boleh menggunakan fungsi array_values() untuk mengalih keluar nama kunci:
$new_fruits = array_values($fruits);
Dengan cara ini, Tatasusunan $new_fruits hanya mengandungi elemen Nilai tidak mengandungi nama kunci dalam tatasusunan asal.
2. Gunakan fungsi json_decode()
fungsi json_decode() boleh menukar rentetan format JSON kepada tatasusunan atau objek PHP. Semasa proses penukaran ini, subskrip elemen akan dialih keluar secara automatik.
Sebagai contoh, rentetan JSON berikut:
$json_str = '["apple", "banana", "orange"]';
Anda boleh menggunakan fungsi json_decode() untuk menukarnya kepada tatasusunan:
$fruits = json_decode($json_str);
Dengan cara ini , $fruits Unsur dalam tatasusunan hanya mengandungi nilai, tanpa subskrip.
3. Gunakan fungsi object_to_array()
Jika anda perlu menukar objek kepada tatasusunan tanpa mengekalkan subskrip elemen, anda boleh menggunakan fungsi berikut:
function object_to_array($obj) { $arr = is_object($obj) ? get_object_vars($obj) : $obj; if (is_array($arr)) { return array_map(__FUNCTION__, $arr); } else { return $arr; } }
Untuk menukar objek kepada tatasusunan tanpa subskrip, anda boleh menggunakan kod berikut:
$arr = object_to_array($obj);
Dengan cara ini, tatasusunan $arr hanya mengandungi nilai elemen tanpa sebarang subskrip.
3. Langkah berjaga-jaga untuk mengalih keluar subskrip indeks
Mengalih keluar subskrip daripada tatasusunan atau objek akan menjadikan kod program lebih mudah dan jelas, tetapi ia juga akan menyebabkan Ambil beberapa risiko. Berikut ialah beberapa perkara yang perlu diberi perhatian:
1 Susunan elemen tidak dijamin
Selepas menggunakan fungsi array_values() atau fungsi json_decode() untuk mengalih keluar subskrip, susunan bagi unsur-unsur boleh diubah. Oleh itu, sebelum menggunakan fungsi ini, adalah lebih baik untuk mengesahkan sama ada susunan unsur penting.
2. Mungkin terdapat nilai kunci pendua
Selepas menggunakan fungsi array_values() atau fungsi json_decode() untuk mengalih keluar subskrip, subskrip elemen akan meningkat daripada 0. Jika terdapat unsur pendua dalam tatasusunan asal, ia juga akan menjadi pendua dalam tatasusunan baharu.
3. Ia mungkin menjejaskan kebolehbacaan kod
Dalam sesetengah kes, mengalih keluar subskrip elemen boleh menyebabkan kebolehbacaan kod itu berkurangan. Contohnya, apabila menggunakan tatasusunan berbilang dimensi, subskrip elemen boleh mencerminkan hubungan hierarki struktur tatasusunan. Jika anda mengalih keluar subskrip elemen, hubungan hierarki ini mungkin menjadi kurang jelas. Oleh itu, adalah lebih baik untuk mengekalkan subskrip elemen apabila perlu untuk mengekalkan kebolehbacaan kod.
4. Kesimpulan
Mengalih keluar subskrip daripada tatasusunan atau objek boleh menjadikan program lebih mudah, tetapi ia juga membawa beberapa risiko. Apabila menggunakan kaedah mengalih keluar subskrip, anda perlu memberi perhatian kepada isu di atas dan menimbang kebaikan dan keburukan mengikut situasi sebenar.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar subskrip indeks dari tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!