Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich ursprüngliche Array-Werte mithilfe einer foreach-Schleife in PHP ändern?

Wie kann ich ursprüngliche Array-Werte mithilfe einer foreach-Schleife in PHP ändern?

Linda Hamilton
Linda HamiltonOriginal
2024-12-22 20:40:19921Durchsuche

How Can I Modify Original Array Values Using a foreach Loop in PHP?

Ändern ursprünglicher Array-Werte mithilfe der foreach-Schleife in PHP

Bei der Arbeit mit Arrays in PHP, insbesondere mehrdimensionalen Arrays, kann auf deren Elemente zugegriffen und diese geändert werden knifflig sein. Eine häufige Herausforderung entsteht bei der Verwendung von foreach-Schleifen, um Arrays zu durchlaufen und ihre ursprünglichen Werte zu aktualisieren.

In diesem Fall betrachten wir ein Array $fields, das Formularfeldinformationen darstellt:

$fields = [
    "names" => [
        "type" => "text",
        "class" => "name",
        "name" => "name",
        "text_before" => "name",
        "value" => "",
        "required" => true,
    ]
];

Nun, Stellen Sie sich eine Funktion vor, die die Felder validiert und den Schlüssel „Wert“ auf „Einiger Fehler“ setzt, wenn die entsprechende Formulareingabe vorliegt leer:

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

Die problematische Zeile lautet:

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

Das Ziel hier ist, das ursprüngliche Array zu aktualisieren, aber es ist nicht sofort klar, wie man auf den Array-Schlüssel zugreift (in diesem Fall). , „Namen“) innerhalb der Schleife.

Verwendung von $key für Original-Array Indizierung

Eine Lösung besteht darin, die in der foreach-Schleife verfügbare Variable $key zu verwenden. Es stellt den Schlüssel des aktuellen Array-Elements dar, über das iteriert wird:

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

Dieser Ansatz verwendet $field, um auf die Werte des aktuellen Felds zuzugreifen, und $fields[$key], um das ursprüngliche Array zu manipulieren, was eine effiziente Änderung ermöglicht des „Wert“-Schlüssels des Elements.

Das obige ist der detaillierte Inhalt vonWie kann ich ursprüngliche Array-Werte mithilfe einer foreach-Schleife in PHP ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn