Often it comes to requirement when we need to compare and return matched set of values from an array.
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)