Comparing and finding matched elements from an array

Often it comes to requirement when we need to compare and return matched set of values from an array.

Exm:

Suppose we have an array like

$array=array('audios/2015/01/audio_54c74d9d8b2bf__pd.m4a',
    'audios/2015/01/audio_54c74d9d8b47e__pd.m4a',
    'videos/2015/01/videos_54c75416c186d__pd.mp4',
    'images/image_55c2fef42332.jpg',
    'images/image_tt.jpg',
    'videos/video_tt.jpg'
)

WE want to find images that start with images/im and videos that starts with videos/vi then we can use preg_grep which is used to compare array elements with regular expression defined and returns match array elements, The code will be like:

$matchedFiles = preg_grep('/^(images\/im)|(videos\/vi)/', $array); //get objects that start with images/im OR videos/vi OR audios/au from all objects         
        $matchedFiles = array_filter(array_values($matchedFiles));
        echo "<br>Matched elemets are:";
        print_r($matchedFiles)