Heim > Artikel > Backend-Entwicklung > So löschen Sie Array-Elemente in PHP
In diesem Artikel wird hauptsächlich die Methode zum Löschen von Array-Elementen in PHP vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
Mehrere PHP-Methoden zum Löschen von Array-Elementen. In vielen Fällen werden unsere Arrays dupliziert. Was sollten wir also tun, wenn wir einige doppelte Inhalte im Array löschen müssen? Möglichkeiten, sie zu löschen, verwenden im Folgenden mehrere Methoden zum Durchlaufen von Abfragen, um doppelte Array-Elemente zu entfernen.
Methode 1. Doppelte Array-Instanzen vollständig löschen-----Ein Element im Array löschen
function array_remove_value(&$arr, $var){ foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_value($arr[$key], $var); } else { $value = trim($value); if ($value == $var) { unset($arr[$key]); } else { $arr[$key] = $value; } } } }
$a ist ein Array:
count($a); //得到4 unset($a[1]); //删除第二个元素 count($a); //得到3 echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue, echo $a[1]; //无值 ?>
Das heißt, nach dem Löschen der Elemente im Array ändert sich die Anzahl der Elemente im Array (erhalten mit count()), der Array-Index jedoch Wenn die Anordnung nicht zurückgesetzt wird, müssen Sie vor dem Löschen des Arrays auch die Taste verwenden, um den entsprechenden Wert zu bedienen.
Später habe ich eine andere Methode übernommen, die eigentlich überhaupt nicht als „Methode“ bezeichnet wird. Ich habe die vorgefertigte Funktion array_splice() von PHP4 verwendet.
count ($a); //得到4 array_splice($a,1,1); //删除第二个元素 count ($a); //得到3 echo $a[2]; //得到yellow echo $a[1]; //得到blue ?>
Methode 2, Funktion zum Löschen doppelter Elemente in einem Array
function delmember(&$array, $id) { $size = count($array); for($i = 0; $i <$size - $id - 1; $i ++) { $array[$id + $i] = $array[$id + $i + 1]; } unset($array[$size - 1]); }
Zusätzliches kleines Beispiel:
Methode 1, PHP verfügt über eine integrierte Funktion array_unique, mit der doppelte Werte in einem Array
array_unique-Beschreibung
Hinweis: Zwei Einheiten gelten genau dann als gleich, wenn (Zeichenfolge) $elem1 === (Zeichenfolge) $elem2. Das heißt, wenn die Ausdrücke der Zeichenfolgen gleich sind.
Die erste Einheit bleibt erhalten.
Beispiel: array_unique()
<?php $input = array("a" => "green", "red", "b" => "green", "blue", "red"); $result = array_unique($input); print_r($result); ?>Das obige Beispiel gibt Folgendes aus:
Array ( [a] => green [0] => red [1] => blue )
Methode 2, array_flip, um einen Duplikatentfernungseffekt zu erzielen
Eine andere Methode besteht darin, die Funktion array_flip von PHP zu verwenden, um indirekt den Deduplizierungseffekt zu erzielen.array_flip ist eine Funktion, die die Schlüssel und Werte des Arrays umkehrt. Es verfügt über eine Funktion, die Folgendes bewirkt: Es gibt zwei im Array. Die Werte sind gleich, dann bleiben der letzte Schlüssel und der letzte Wert nach der Invertierung erhalten. Wir nutzen diese Funktion, um indirekt die Deduplizierung des Arrays zu implementieren.
<?php $arr = array("a"=>"a1","b"=>'b1',"c"=>"a2","d"=>"a1"); $arr1 = array_flip($arr); print_r($arr1);//先反转一次,去掉重复值,输出Array ( [a1] => d [b1] => b [a2] => c ) $arr2 = array_flip($arr); print_r($arr2);//再反转回来,得到去重后的数组,输出Array ( [a1] => d [b1] => b [a2] => c ) $arr3 = array_unique($arr); print_r($arr3);//利用php的array_unique函数去重,输出Array ( [a] => a1 [b] => b1 [c] => a2 ) ?>Der Unterschied zwischen den beiden Methoden besteht darin, dass mit
array_flip der letzte Schlüssel und Wert des wiederholten Elements abgerufen wird und mit array_unique der letzte Schlüssel und Wert des wiederholten Elements abgerufen wird erster Schlüssel und Wert der beiden wiederholten Elemente.
Zusammenfassung : Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
Teilen einer einfachen Methode zum Erstellen einer statischen Seite in PHP
Analyse von CURL-Beispielen für die Datenübertragung in PHP
Teilen einfacher Beispiele für das Hinzufügen von Daten zu XML-Dateien in PHP
Das obige ist der detaillierte Inhalt vonSo löschen Sie Array-Elemente in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!