How to implement reverse order output of an array in PHP

PHPz
Release: 2023-04-19 10:49:57
Original
2088 people have browsed it

In PHP, there are many functions that can be used to output the reverse order of arrays, such asarray_reverse(),rsort(),arsort(), etc. However, if you do not use these functions, how to achieve the reverse output of the array? Below we will introduce several implementation methods.

1. Use for loop

$arr = array(1, 2, 3, 4, 5); $len = count($arr); for ($i = $len - 1; $i >= 0; $i--) { echo $arr[$i] . " "; }
Copy after login

Through the for loop, start traversing from the last element of the array, then gradually reduce the index $i, and output each element. This method is simple and straightforward, but requires manual calculation of the array length.

2. Use while loop

$arr = array(1, 2, 3, 4, 5); while ($value = end($arr)) { echo $value . " "; prev($arr); // 向前移动指针 }
Copy after login

Get the last element of the array through theend()function, and then output it one by one and passprev()Function moves the pointer to the previous element. When the pointer moves to the first element, theend()function will return false and exit the loop.

3. Use foreach loop

$arr = array(1, 2, 3, 4, 5); $reverseArr = array(); foreach ($arr as $value) { array_unshift($reverseArr, $value); } foreach ($reverseArr as $value) { echo $value . " "; }
Copy after login

Traverse the array through the foreach loop and add the array elements to the beginning of the new array, that is, add them from back to front. Finally, the elements in the new array are output through the foreach loop, which is the reverse order of the original array.

4. Use do-while loop

$arr = array(1, 2, 3, 4, 5); $len = count($arr); $i = $len - 1; do { echo $arr[$i] . " "; $i--; } while ($i >= 0);
Copy after login

Use do-while loop, start traversing from the last element of the array, then gradually reduce the index $i, and output each element. Similar to a for loop, but does not require manual calculation of the array length. However, it should be noted that the do-while loop will be executed at least once, that is, if the array is empty, an error will occur.

5. Use the array_splice() function

$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 . " "; }
Copy after login

Use thearray_splice()function to delete the last element from the end of the array, and return the deleted element, and then merge it with the new array . Repeat this process until the original array is empty, and finally output a new array, which is the reverse order of the original array.

The above are several ways to implement array output in reverse order in PHP without using functions. Readers can choose different methods according to actual needs.

The above is the detailed content of How to implement reverse order output of an array in PHP. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!