Dalam PHP, terdapat banyak fungsi yang boleh digunakan untuk mengeluarkan susunan terbalik tatasusunan, seperti array_reverse()
, rsort()
, arsort()
, dsb. Walau bagaimanapun, jika anda tidak menggunakan fungsi ini, bagaimana untuk mencapai output terbalik tatasusunan? Di bawah ini kami akan memperkenalkan beberapa kaedah pelaksanaan.
$arr = array(1, 2, 3, 4, 5); $len = count($arr); for ($i = $len - 1; $i >= 0; $i--) { echo $arr[$i] . " "; }
Melalui gelung for, mula merentasi dari elemen terakhir tatasusunan, kemudian kurangkan indeks $i secara beransur-ansur dan keluarkan setiap elemen. Kaedah ini mudah dan mudah, tetapi memerlukan pengiraan manual bagi panjang tatasusunan.
$arr = array(1, 2, 3, 4, 5); while ($value = end($arr)) { echo $value . " "; prev($arr); // 向前移动指针 }
untuk mendapatkan elemen terakhir tatasusunan melalui fungsi end()
, kemudian keluarkannya satu demi satu dan gerakkan penunjuk ke elemen sebelumnya melalui fungsi prev()
. Apabila penuding bergerak ke elemen pertama, fungsi end()
akan mengembalikan palsu dan keluar dari gelung.
$arr = array(1, 2, 3, 4, 5); $reverseArr = array(); foreach ($arr as $value) { array_unshift($reverseArr, $value); } foreach ($reverseArr as $value) { echo $value . " "; }
Lintas tatasusunan melalui setiap gelung dan tambahkan elemen tatasusunan pada permulaan tatasusunan baharu, iaitu, tambahkannya dari belakang ke hadapan. Akhir sekali, elemen dalam tatasusunan baharu dikeluarkan melalui gelung foreach, yang merupakan susunan terbalik tatasusunan asal.
$arr = array(1, 2, 3, 4, 5); $len = count($arr); $i = $len - 1; do { echo $arr[$i] . " "; $i--; } while ($i >= 0);
Gunakan gelung do-while untuk melintasi dari elemen terakhir tatasusunan, kemudian kurangkan indeks $i secara beransur-ansur dan keluarkan setiap elemen. Sama seperti gelung for, tetapi tidak memerlukan pengiraan manual bagi panjang tatasusunan. Walau bagaimanapun, perlu diingatkan bahawa gelung do-while akan dilaksanakan sekurang-kurangnya sekali, iaitu, jika tatasusunan kosong, ralat akan berlaku.
$arr = array(1, 2, 3, 4, 5); $reverseArr = array(); while (count($arr) > 0) { $lastVal = array_splice($arr, -1); $reverseArr = array_merge($reverseArr, $lastVal); } foreach ($reverseArr as $value) { echo $value . " "; }
Gunakan fungsi array_splice()
untuk memadamkan elemen terakhir dari hujung tatasusunan, kembalikan elemen yang dipadamkan, dan kemudian gabungkannya. dengan tatasusunan baharu. Ulangi proses ini sehingga tatasusunan asal kosong, dan akhirnya mengeluarkan tatasusunan baharu, iaitu susunan terbalik tatasusunan asal.
Di atas adalah beberapa cara untuk melaksanakan output tatasusunan dalam susunan terbalik dalam PHP tanpa menggunakan fungsi Pembaca boleh memilih kaedah yang berbeza mengikut keperluan sebenar.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan output susunan terbalik tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!