PHP foreach ändert die ursprünglichen Array-Werte

Ich bin sehr neu in mehrdimensionalen Arrays und das nervt mich sehr.

Mein Array ist wie folgt:

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

Dann habe ich eine Funktionsprüfung, ob diese Eingänge ausgefüllt sind, wenn sie benötigt werden.

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

Jetzt ist mein Problem diese Linie

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

Ich möchte den Inhalt des ursprünglichen Arrays ändern, da ich dies zurückgebe, aber wie erhalte ich den Namen des aktuellen Arrays (Namen in diesem Beispiel) in meiner foreach-Schleife?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage