Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie doppelte Elemente in einem Array in PHP

So löschen Sie doppelte Elemente in einem Array in PHP

藏色散人
藏色散人Original
2021-03-10 09:56:352085Durchsuche

So löschen Sie doppelte Elemente in einem Array in PHP: Erstellen Sie zunächst eine PHP-Beispieldatei und löschen Sie dann doppelte Elemente im Array über „function delmember(&$array, $id){...}“.

So löschen Sie doppelte Elemente in einem Array in PHP

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP7.1, Dell G3-Computer.

So löschen Sie doppelte Elemente in einem Array in PHP

Mehrere PHP-Methoden zum Löschen von Array-Elementen. In vielen Fällen werden unsere Arrays dupliziert. Was sollen wir also tun, wenn wir einige doppelte Elemente im Array löschen? muss gleich bleiben. Unique, also habe ich über Möglichkeiten nachgedacht, sie zu löschen. Hier sind mehrere Möglichkeiten, doppelte Array-Elemente mithilfe von Traversal-Abfragen zu löschen.
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 in Das Array, die Anzahl der Elemente im Array (erhalten mit count()), hat sich geändert, aber die Array-Indizes wurden nicht neu angeordnet, und der entsprechende Wert muss durch Löschen des Schlüssels vor dem Array bedient werden.
Später habe ich eine andere Methode übernommen, die eigentlich gar nicht als „Methode“ bezeichnet wird. Ich habe die vorgefertigte Funktion array_splice() in 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]);
}

Ergänzungsbeispiel: [Empfohlenes Lernen: „PHP-Video-Tutorial“]

Methode 1, php wurde erstellt -in Die Funktion array_unique kann verwendet werden, um doppelte Werte im Array zu entfernen.

  • array_unique – Entfernen Sie doppelte Werte im Array () akzeptiert ein Array als Eingabe und gibt ein neues Array ohne doppelte Werte zurück. Beachten Sie, 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() array_flip ist Eine Funktion, die die Schlüssel und Werte eines Arrays umkehrt. Sie verfügt über die Funktion, dass der letzte Schlüssel und Wert nach der Umkehrung beibehalten wird Das Array. 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 erste Schlüssel und Wert der beiden wiederholten Elemente abgerufen wird.

Das obige ist der detaillierte Inhalt vonSo löschen Sie doppelte Elemente in einem Array 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