Тогда вот так:
//Если true, исключаем все классы, указанные в $classes и грузим остальные
if ($init_other_classes) $arr = array_diff ($arr, $classes);
//Иначе оставляем только классы, имеющиеся в обоих массивах (для "защиты от дурака", заполняющего $classes,
else $arr = array_intersect ($classes, $arr);
foreach($arr as $v)
{
$v=ucfirst($v);
$this->$v=new $v(&$this);
}
но это при условии, что в $classes не попадают еще какие-то классы кроме перечисленных в $arr