How to Reverse an Array in PHP Without Using Built-In Functions

Introduction

The array_reverse function in PHP is a handy way to reverse the order of an array. But what if you’re restricted from using built-in functions or want to learn how to implement this functionality manually? In this guide, we’ll demonstrate a custom approach to reverse an array step-by-step, using basic PHP constructs.

Why Avoid array_reverse?

Avoiding built-in functions can be helpful for:

  • Learning core PHP programming concepts.
  • Solving coding challenges that restrict the use of built-in functions.
  • Understanding how array manipulation works at a deeper level.

Manual Implementation of array_reverse

Code Example:

function customArrayReverse($array) {
    // Validate input is an array
    if (!is_array($array)) {
        return [];
    }

    // Create an empty array for the reversed result
    $reversed = [];

    // Iterate through the array from the last element to the first
    for ($i = count($array) - 1; $i >= 0; $i--) {
        $reversed[] = $array[$i];
    }

    return $reversed;
}

// Example usage
$originalArray = ["apple", "banana", "cherry", "date"];
$reversedArray = customArrayReverse($originalArray);

echo "Original Array:\n";
print_r($originalArray);

echo "\nReversed Array:\n";
print_r($reversedArray);

Output:

Original Array:
Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => date
)

Reversed Array:
Array
(
    [0] => date
    [1] => cherry
    [2] => banana
    [3] => apple
)

Explanation of the Code

  1. Input Validation: The function ensures the input is a valid array.
  2. Empty Result Array: A new array ($reversed) is initialized to store the reversed elements.
  3. Reverse Iteration: A for loop starts from the last index of the array and iterates backward, appending each element to the result array.
  4. Return Reversed Array: The final reversed array is returned.

Keep Learning 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *