Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie eine bestimmte Zeichenfolge aus einem PHP-Array

So entfernen Sie eine bestimmte Zeichenfolge aus einem PHP-Array

青灯夜游
青灯夜游Original
2022-08-26 20:22:421845Durchsuche

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 ]) ;}}".

So entfernen Sie eine bestimmte Zeichenfolge aus einem PHP-Array

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.

Arraytrue
array_search(value,array,strict)
Schritt 2: Verwenden Sie die Funktion array_splice(), um das Element basierend auf dem erhaltenen Schlüsselnamen zu löschen. ParameterBeschreibung
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).
  • Die Funktion array_splice() entfernt das ausgewählte Element aus dem Array (Sie können es auch durch a ersetzen neues Element).
  • <?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 "指定字符串&#39;12&#39;的键名为:".$key;
    
    ?>

So entfernen Sie eine bestimmte Zeichenfolge aus einem PHP-Array

array1

Erforderlich. Gibt ein Array an.

startoptional. 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. array2optional. Gibt das Array mit den Elementen an, die in das ursprüngliche Array eingefügt werden sollen. Wenn nur ein Element vorhanden ist, kann es auf eine Zeichenfolge festgelegt werden und muss nicht auf ein Array festgelegt werden. Wenn Sie die foreach-Anweisung zum Durchlaufen eines Arrays verwenden, wirkt sie sich im Allgemeinen auf die Sicherung des Arrays aus und hat im Allgemeinen keine Auswirkungen auf das Array selbst. 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.
<?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 "指定字符串&#39;12&#39;的键名为:".$key;


array_splice($arr,$key,1);
echo "<br><br>删除指定字符串&#39;12&#39;后:";
var_dump($arr); 
?>
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

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.
Der vollständige Beispielcode:

foreach ($array as $key => &$value){
    //循环体语句块;
}

So entfernen Sie eine bestimmte Zeichenfolge aus einem PHP-Array

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!

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