Any reason for the ```is_file()``` call? Otherwise you could use ```in_array()```, and even avoid ```array_diff()```?