Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan output susunan terbalik tatasusunan dalam PHP

Bagaimana untuk melaksanakan output susunan terbalik tatasusunan dalam PHP

PHPz
PHPzasal
2023-04-19 10:05:452137semak imbas

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.

1. Gunakan untuk gelung

$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.

2. Gunakan gelung sementara

$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.

3. Gunakan gelung foreach

$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.

4. Gunakan gelung do-while

$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.

5 Gunakan fungsi array_splice()

$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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn