Array-Elemente nach Wert in PHP löschen
In PHP werden Arrays durch Schlüssel indiziert, typischerweise Ganzzahlen oder Zeichenfolgen. Es kann jedoch vorkommen, dass Sie ein Element anhand seines Werts und nicht anhand seines Schlüssels aus einem Array entfernen müssen. Dies kann durch die Verwendung der Funktion array_search() in Verbindung mit unset() erreicht werden.
Verwendung von array_search() und unset()
Zum Löschen eines Array-Elements durch Wert, folgen Sie diesen Schritten:
- Verwenden Sie array_search($del_val, $messages), um den Schlüssel des Elements mit dem Wert abzurufen Sie entfernen möchten.
- Speichern Sie den Schlüssel in einer Variablen, z. B. $key.
- Verwenden Sie unset($messages[$key]), um das Element mit diesem Schlüssel aus dem Array zu löschen.
Beispiel:
Gegeben sei ein Array $messages mit Unique Werte:
$messages = [312, 401, 1599, 3, ...];
Um das Element mit dem Wert 401 zu löschen:
if (($key = array_search(401, $messages)) !== false) {
unset($messages[$key]);
}
Erklärung:
- array_search(401, $messages) gibt den Schlüssel (Index) des Elements mit dem Wert zurück 401.
- Die if()-Anweisung prüft, ob array_search() einen gültigen Schlüssel (nicht FALSE) zurückgegeben hat.
- Wenn ein Schlüssel gefunden wird, wird unset($messages[$key]) ausgeführt , wodurch das Element aus dem entfernt wird array.
Hinweis:
- array_search() erfordert, dass die Werte im Array eindeutig sind.
- array_search() gibt bei einem Fehler FALSE oder bei Erfolg einen falschen Wert zurück (z. B. Schlüssel 0), daher der strikte Vergleich !== false in if() Aussage.
Das obige ist der detaillierte Inhalt vonWie lösche ich Array-Elemente nach Wert in PHP?. 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