Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich PHP-Array-Werte innerhalb einer Foreach-Schleife korrekt ändern?

Wie kann ich PHP-Array-Werte innerhalb einer Foreach-Schleife korrekt ändern?

Mary-Kate Olsen
Freigeben: 2024-12-15 04:59:32
Original
750 Leute haben es durchsucht

How Can I Correctly Modify PHP Array Values Within a Foreach Loop?

Ändern von PHP-Array-Werten in einer Foreach-Schleife (Duplikatkorrektur)

In mehrdimensionalen Arrays kann das Durchlaufen jedes Elements mithilfe einer foreach-Schleife sinnvoll sein Komplexität beim Versuch, das ursprüngliche Array zu ändern.

Bedenken Sie Folgendes Beispiel:

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

Angenommen, Sie haben eine Funktion, die prüft, ob erforderliche Eingaben ausgefüllt sind:

function checkForm($fields) {
    foreach ($fields as $field) {
        if ($field['required'] && strlen($_POST[$field['name']]) <= 0) {
            $fields[$field]['value'] = "Some error"; // Here's the issue
        }
    }
    return $fields;
}
Nach dem Login kopieren

Die problematische Zeile ist $fields[$field]['value' ] = „Irgendein Fehler“;. Um das ursprüngliche Array zu ändern, müssen Sie auf den Schlüssel des aktuellen Elements statt auf den Wert zugreifen, wie unten gezeigt:

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

Beachten Sie die Verwendung von $key innerhalb von $fields[$key]['value '], um auf den Schlüssel des aktuellen Elements in der äußeren Schleife zu verweisen. Dadurch wird sichergestellt, dass das ursprüngliche Array wie vorgesehen geändert wird.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage