So löschen Sie Array-Elemente in PHP

墨辰丷
Freigeben: 2023-03-29 20:44:02
Original
1579 Leute haben es durchsucht

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;
}
}
}
}
Nach dem Login kopieren

$a ist ein Array:

count($a); //得到4
unset($a[1]); //删除第二个元素
count($a); //得到3
echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue,
echo $a[1]; //无值
?>
Nach dem Login kopieren

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
?>
Nach dem Login kopieren

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]);
}
Nach dem Login kopieren

Zusätzliches kleines Beispiel:

Methode 1, PHP verfügt über eine integrierte Funktion array_unique, mit der doppelte Werte in einem Array

<🎜 gelöscht werden können >
  • array_unique – Doppelte Werte im Array entfernen

  • array_unique-Beschreibung

  • array array_unique ( array array )

  • array_unique() akzeptiert ein Array als Eingabe und gibt ein neues Array ohne doppelte Werte zurück

Hinweis dass die Schlüsselnamen unverändert bleiben. array_unique() sortiert die Werte zunächst als Zeichenfolgen, behält dann nur den ersten gefundenen Schlüssel für jeden Wert bei und ignoriert dann alle nachfolgenden Schlüssel. Dies bedeutet nicht, dass das erste Vorkommen desselben Werts in einem unsortierten Array erhalten bleibt.

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);
?>
Nach dem Login kopieren

Das obige Beispiel gibt Folgendes aus:

Array
(
 [a] => green
 [0] => red
 [1] => blue
)
Nach dem Login kopieren

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"=>&#39;b1&#39;,"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 )
?>
Nach dem Login kopieren
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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage