PHP foreach zmienia oryginalne wartości tablicy

Jestem bardzo nowy w macierzach wielowymiarowych i to bardzo mnie niepokoi.

Moja tablica wygląda następująco:

$fields = array(
    "names" => array(
         "type"         => "text",
         "class"        => "name",
         "name"         => "name",
         "text_before"  => "name",
         "value"        => "",
         "required"     => true,
    )
)

Następnie sprawdziłem, czy te dane wejściowe są wypełnione, jeśli są wymagane.

function checkForm($fields){
    foreach($fields as $field){
        if($field['required'] && strlen($_POST[$field['name']]) <= 0){
            $fields[$field]['value'] = "Some error";
        }
    }
    return $fields;
}

Teraz moim problemem jest ta linia

$fields[$field]['value'] = "Some error";

Chcę zmienić zawartość oryginalnej tablicy, ponieważ zwracam to, ale jak uzyskać nazwę bieżącej tablicy (nazwy w tym przykładzie) w mojej pętli foreach?

questionAnswers(5)

yourAnswerToTheQuestion