Используйте условный оператор, чтобы выбрать массив для использования, а затем используйте $fv
в качестве значения, а не $ok
для второго параметра.
foreach ( ($n ? $first : $other) as $fk => $fv )
Наличие двух совершенно разных циклов, выбранных по условию и с совершенно разными переменными, было бы не очень хорошей идеей, поскольку это привело бы к действительно запутанному коду, поскольку вы не были бы уверены, не проверяя $n
, какой из $fk
, $fv
и $ok
были установлены.
Если вам нужно сделать что-то другое в зависимости от условия, может быть, лучше было бы использовать фрагменты кода, одинаковые по функциям?