What are the potential pitfalls of using array_search() function in PHP when searching for a value in a multi-dimensional array?

The potential pitfall of using array_search() function in PHP when searching for a value in a multi-dimensional array is that it only searches the top-level elements of the array and does not traverse nested arrays. To overcome this limitation, you can create a custom function that recursively searches through all levels of the multi-dimensional array until it finds the desired value.

function recursive_array_search($needle, $haystack) {
    foreach ($haystack as $key => $value) {
        if ($value === $needle) {
            return $key;
        } elseif (is_array($value)) {
            $result = recursive_array_search($needle, $value);
            if ($result !== false) {
                return $result;
            }
        }
    }
    return false;
}

$multiArray = array(
    'a' => array('b', 'c'),
    'd' => array('e', 'f'),
    'g' => array('h', 'i')
);

$searchValue = 'f';
$key = recursive_array_search($searchValue, $multiArray);
if ($key !== false) {
    echo "Value '$searchValue' found at key '$key'";
} else {
    echo "Value '$searchValue' not found in the multi-dimensional array";
}