Heim >Backend-Entwicklung >PHP-Problem >So entfernen Sie eine bestimmte Zeichenfolge aus einem PHP-Array
Zwei Methoden: 1. Verwenden Sie array_search() und array_splice() zum Löschen. Die Syntax lautet „array_splice($arr,array_search(“string“,$arr,true),1);“. 2. Verwenden Sie die foreach-Anweisung und unset(), um die Syntax „foreach($arr as $k=>&$v){if($v==="string"){unset($arr[$k) zu löschen ]) ;}}".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
Methode 1: Verwenden Sie array_search()+array_splice()
Schritt 1: Verwenden Sie array_search( )-Funktion Suchen Sie die angegebene Zeichenfolge im Array und geben Sie den entsprechenden Schlüsselnamen zurück. Gibt den Schlüsselwert an, nach dem im Array gesucht werden soll.
Erforderlich. Gibt das zu durchsuchende Array an. | |
---|---|
streng | Optional. Wenn dieser Parameter auf TRUE gesetzt ist, durchsucht die Funktion das Array nach Elementen desselben Datentyps und Werts. Mögliche Werte: |
false – Standard Wenn auf true gesetzt, wird der Typ des angegebenen Werts im Array überprüft, die Zahl 5 und die Zeichenfolge 5 sind unterschiedlich (siehe Beispiel 2). | |
Schritt 2: Verwenden Sie die Funktion array_splice(), um das Element basierend auf dem erhaltenen Schlüsselnamen zu löschen. |
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,"12",12,25,24); echo "原数组:"; var_dump($arr); $key=array_search("12",$arr,true); echo "指定字符串'12'的键名为:".$key; ?> | Parameter
array1
Erforderlich. Gibt ein Array an.Erforderlich. Zahlenwert. Gibt die Startposition gelöschter Elemente an. 0 = erstes Element. Wenn der Wert auf eine positive Zahl festgelegt ist, beginnt die Entfernung an dem Offset, der durch den Wert im Array angegeben wird. Wenn der Wert auf eine negative Zahl festgelegt ist, beginnt die Entfernung an dem durch den Wert angegebenen Offset vom Ende des Arrays. -2 bedeutet, dass mit dem vorletzten Element des Arrays begonnen wird. | |
---|---|
Länge | optional. Zahlenwert. Gibt die Anzahl der zu entfernenden Elemente an, die auch die Länge des zurückgegebenen Arrays ist. Wenn dieser Wert auf eine positive Zahl gesetzt ist, entfernen Sie diese Anzahl an Elementen. Wenn dieser Wert auf eine negative Zahl gesetzt ist, werden alle Elemente vom Anfang bis zur Länge invers zum Ende des Arrays entfernt. Wenn dieser Wert nicht festgelegt ist, werden alle Elemente von der durch den Startparameter festgelegten Position bis zum Ende des Arrays entfernt. |
array2 | |
Beschreibung: Diese Funktion ändert das ursprüngliche Array Schleife | array_splice(array1,start,length,array2) Durchläuft das angegebene $array-Array und in jeder Schleife wird der Wert des aktuellen Arrays $value und der Schlüsselname $key zugewiesen. |
Wenn Sie das Array über eine Schleife ändern möchten, können Sie eine Referenzschleife verwenden (fügen Sie & vor $value hinzu, damit die foreach-Anweisung den Wert per Referenz zuweist, anstatt einen Wert zu kopieren). Der Schleifenkörper wirkt sich auf das Array selbst aus. | Schritt 2: Verwenden Sie im Schleifenkörper den Operator „===", um die angegebene Zeichenfolge zu finden, und verwenden Sie die Funktion unset(), um das Element zu löschen. |
foreach ($array as $key => &$value){ //循环体语句块; }
Es ist ersichtlich, dass vor dem letzten Element ein & steht, da die $value-Referenz des letzten Elements des Arrays nach der foreach-Schleife weiterhin erhalten bleibt. Wir müssen unset() verwenden, um es zu zerstören.
if($value==="指定字符串"){ unset($arr[$key]); }Empfohlenes Lernen: „PHP-Video-Tutorial
“
Das obige ist der detaillierte Inhalt vonSo entfernen Sie eine bestimmte Zeichenfolge aus einem PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!