Are there any potential pitfalls when using array_search in PHP for searching within arrays?

One potential pitfall when using array_search in PHP is that it returns the key of the first matching element found in the array. If you need to find the key of a specific value in a multidimensional array, array_search may not work as expected. To solve this, you can use a custom function that iterates through the array recursively to find the key of the specified 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;
}

// Example usage
$array = array(
    'a' => array('b' => 'c'),
    'd' => 'e'
);

$key = recursive_array_search('c', $array);
echo $key; // Output: b