How can one optimize the search for a specific value within a multi-dimensional array in PHP to improve performance?

When searching for a specific value within a multi-dimensional array in PHP, one way to optimize performance is to use a recursive function that iterates through the array efficiently. By using a recursive function, you can avoid unnecessary loops and quickly find the desired value without iterating through the entire array each time.

function searchMultiDimensionalArray($array, $value) {
    foreach ($array as $key => $val) {
        if ($val === $value) {
            return true;
        } elseif (is_array($val)) {
            if (searchMultiDimensionalArray($val, $value)) {
                return true;
            }
        }
    }
    return false;
}

// Example usage
$array = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];

if (searchMultiDimensionalArray($array, 5)) {
    echo "Value found in array!";
} else {
    echo "Value not found in array.";
}