Dalam pengaturcaraan PHP, kita sering menghadapi situasi di mana kita perlu membahagikan tatasusunan besar kepada beberapa tatasusunan kecil. Ini dilakukan terutamanya untuk memudahkan pemprosesan dan operasi program dan untuk mengelakkan gelung atau operasi traversal yang berlebihan. Mari belajar cara membahagi tatasusunan dalam PHP.
1. Gunakan fungsi array_chunk() untuk memisahkan array
PHP menyediakan fungsi array_chunk() yang sangat mudah untuk memisahkan array. Fungsi fungsi ini adalah untuk memisahkan tatasusunan kepada beberapa tatasusunan kecil dengan panjang yang ditentukan.
digunakan seperti berikut:
array array_chunk (array $array , int $size [, bool $preserve_keys = false ] )
Antaranya, $array ialah tatasusunan yang perlu dipecah, $size ialah panjang setiap tatasusunan kecil yang ditentukan, dan $preserve_keys digunakan untuk menunjukkan sama ada untuk mengekalkan nama kunci asal. Jika $preserve_keys ditetapkan kepada benar, nama kunci dalam tatasusunan asal akan dikekalkan.
Berikut ialah kod sampel:
<?php $arr = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm'); $new_arr = array_chunk($arr, 4); print_r($new_arr); ?>
Keputusan yang dijalankan adalah seperti berikut:
Array ( [0] => Array ( [0] => a [1] => b [2] => c [3] => d ) [1] => Array ( [0] => e [1] => f [2] => g [3] => h ) [2] => Array ( [0] => i [1] => j [2] => k [3] => l ) [3] => Array ( [0] => m ) )
2 Gunakan fungsi array_slice() untuk memisahkan tatasusunan
Selain array_chunk() Sebagai tambahan kepada fungsi, anda juga boleh menggunakan fungsi array_slice() untuk memisahkan tatasusunan.
Fungsi array_slice() adalah untuk mengembalikan subarray dengan panjang yang ditentukan. Parameter pertamanya ialah tatasusunan yang akan dipecah, parameter kedua ialah kedudukan dalam tatasusunan untuk memulakan pemisahan, dan parameter ketiga ialah panjang yang hendak dipecahkan, ia kembali dari kedudukan permulaan ke penghujung tatasusunan .
Berikut ialah contoh kod:
<?php $arr = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm'); $new_arr = array(); $offset = 0; $length = 4; while ($offset < count($arr)) { $temp_arr = array_slice($arr, $offset, $length); array_push($new_arr, $temp_arr); $offset += $length; } print_r($new_arr); ?>
Hasil larian adalah sama seperti contoh kod sebelumnya.
3. Gunakan gelung for untuk melintasi dan membelah tatasusunan
Selain menggunakan fungsi di atas, anda juga boleh menggunakan gelung for untuk melintasi dan membelah tatasusunan.
Berikut ialah contoh kod:
<?php $arr = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm'); $new_arr = array(); $length = 4; for ($i = 0; $i < count($arr); $i += $length) { $temp_arr = array(); for ($j = $i; $j < $i + $length; $j++) { if (isset($arr[$j])) { array_push($temp_arr, $arr[$j]); } } array_push($new_arr, $temp_arr); } print_r($new_arr); ?>
Hasil yang dijalankan juga sama seperti dua contoh kod sebelumnya.
Ringkasan
Menggunakan PHP untuk memisahkan tatasusunan ialah keperluan yang sering ditemui dalam pengaturcaraan Mempelajari fungsi biasa dan kaedah traversal boleh meningkatkan kecekapan pengaturcaraan. Artikel ini memperkenalkan tiga kaedah untuk membelah tatasusunan Menggunakan fungsi array_chunk() adalah yang paling mudah dan paling mudah menyatakan offset dan panjang tatasusunan , yang lebih menyusahkan; walaupun kod itu agak rumit menggunakan gelung untuk melintasi, ia lebih fleksibel. Dalam perkembangan sebenar, anda boleh memilih kaedah yang sesuai mengikut keperluan anda.
Atas ialah kandungan terperinci Bagaimana untuk memisahkan array dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!