Вы не можете создать динамически именованную переменную внутри цикла foreach.Тем не менее, вы можете создать массив ключей со значением $ field в качестве значения:
$keys = array(); $i = 0;
foreach($this->fields as $key => $field){
$keys[$i] = $field; $i++;
}
Однако это своего рода обходной путь, потому что вы можете просто получить то же поведение, получив его вот так:
$this->fields[$key] // will return $field
Надеюсь, я правильно понял ваш вопрос в ваших комментариях.