Вы можете использовать одну из следующих функций (ArrayFilterRegExp, если вам нужны регулярные выражения, или ArrayFilterStrpos, если нет).
function ArrayFilterRegExp($array, $pattern)
{
$res = array();
foreach($array as $a)
if (preg_match($pattern, $a))
$res[] = $a;
return $res;
}
$filtered = ArrayFilterRegExp($array, '#\.php#i');
function ArrayFilterStrpos($array, $find)
{
$res = array();
foreach($array as $a)
if (strpos($a, $find) !== false)
$res[] = $a;
return $res;
}
$filtered = ArrayFilterStrpos($array, ".php");