What is the best way to search for values in a multidimensional array using PHP?

Searching for values in a multidimensional array in PHP can be accomplished by using a recursive function that iterates through each element of the array. The function should check if the current element is an array, and if so, recursively call itself to search within that sub-array. If the current element is not an array, it should compare the value to the target value and return the key if a match is found.

function searchMultidimensionalArray($array, $value) {
    foreach ($array as $key => $element) {
        if (is_array($element)) {
            $result = searchMultidimensionalArray($element, $value);
            if ($result !== false) {
                return $result;
            }
        } else {
            if ($element === $value) {
                return $key;
            }
        }
    }
    return false;
}

// Example usage
$nestedArray = [
    'a' => ['b', 'c'],
    'd' => ['e', 'f'],
    'g' => ['h', 'i']
];

$searchValue = 'f';
$result = searchMultidimensionalArray($nestedArray, $searchValue);
if ($result !== false) {
    echo "Value '$searchValue' found at key '$result'";
} else {
    echo "Value '$searchValue' not found in the array";
}