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

So löschen Sie dieselben Elemente in einem zweidimensionalen Array in PHP

PHPz
PHPzOriginal
2023-04-26 09:09:26938Durchsuche

Bei der PHP-Programmierung stoßen wir häufig auf Situationen, in denen wir zweistellige Arrays bedienen müssen. In einigen Fällen müssen wir identische Elemente entfernen, um die Daten eindeutig zu halten. In diesem Artikel erfahren Sie, wie Sie identische Elemente in einem zweistelligen Array löschen.

1. Was ist ein zweistelliges Array

Ein zweistelliges Array (auch bekannt als „mehrdimensionales Array“ oder „Array von Arrays“) ist eine Datenstruktur das andere Arrays enthält. In PHP verwenden wir normalerweise Arrays zum Speichern und Bearbeiten von Daten. Ein zweistelliges Array ist ein besonderer Array-Typ, bei dem jedes Element ein Array ist. Wir können über zwei oder mehr Indizes auf Elemente in einem zweistelligen Array zugreifen, zum Beispiel:

$students = array(
  array("name"=>"张三", "age"=>18, "score"=>89),
  array("name"=>"李四", "age"=>22, "score"=>76),
  array("name"=>"王五", "age"=>20, "score"=>94)
);

Der obige Code erstellt ein zweistelliges Array mit drei Elementen. Jedes Element ist ein Array mit drei Schlüsseln. Wertepaare. Wir können Indizes verwenden, um auf Elemente in einem zweistelligen Array zuzugreifen, zum Beispiel:

echo $students[0]["name"]; // 输出 张三
echo $students[1]["score"]; // 输出 76
echo $students[2]["age"]; // 输出 20

2 So löschen Sie dieselben Elemente in einem zweistelligen Array

Manchmal Wir werden darauf stoßen Das zweistellige Array enthält die gleichen Elemente. Beispielsweise können wir dieselben Studenteninformationen aus verschiedenen Datenquellen beziehen, was zu einer Duplizierung der Studentendaten führt. In diesem Fall müssen wir doppelte Elemente entfernen, um die Daten eindeutig zu halten.

PHP bietet eine Funktion array_unique() zum Entfernen doppelter Elemente aus einem Array. Die Verwendung dieser Funktion für ein zweistelliges Array erfüllt jedoch nicht unseren Zweck. Die Funktion array_unique() kann nur doppelte Elemente in einem eindimensionalen Array löschen, jedoch keine doppelten Elemente in einem mehrdimensionalen Array. array_unique() 用于删除数组中的重复元素。但是,在二位数组中使用该函数并不能达到我们的目的。 array_unique() 函数只能删除一维数组中的重复元素,而不能删除多维数组中的重复元素。

因此,我们需要自己编写代码来删除二位数组中的重复元素。我们可以使用一个循环来遍历二位数组中的每个元素,并且在每一步中比较当前元素和之前的元素是否相同。如果相同,则删除当前元素。下面是代码实现:

function removeDuplicateElements($array){
    $result = array();
    foreach ($array as $key => $value) {
        foreach ($result as $key2 => $value2) {
            if ($value == $value2) {
                unset($array[$key]);
            }
        }
        $result[] = $value;
    }
    return $result;
}

在上面的代码中,我们创建了一个名为 removeDuplicateElements() 的函数,该函数接受一个二位数组作为参数,并返回一个已经删除重复元素的二位数组。

函数内部使用两个 foreach 循环来遍历数组,第一个循环用于遍历二位数组中的每个元素。在每一步中,第二个循环用于遍历已经被添加到结果数组 $result 中的元素,并且比较当前元素和之前的元素是否相同。

如果当前元素和之前的元素相同,则使用 unset() 函数删除当前元素。 unset() 函数用于销毁指定的变量。在这里,它用于删除数组中指定的元素。如果当前元素和之前的元素不相同,则将当前元素添加到结果数组中。

三、测试和应用

我们可以创建一个测试函数来测试 removeDuplicateElements() 函数的有效性。下面是测试函数的代码:

function testRemoveDuplicateElements(){
    $students = array(
      array("name"=>"张三", "age"=>18, "score"=>89),
      array("name"=>"李四", "age"=>22, "score"=>76),
      array("name"=>"王五", "age"=>20, "score"=>94),
      array("name"=>"张三", "age"=>18, "score"=>89),
      array("name"=>"李四", "age"=>22, "score"=>76)
    );

    $result = removeDuplicateElements($students);
    print_r($result);
}

在上面的代码中,我们创建了一个包含五个元素的二位数组,其中有两个元素重复。然后,我们调用 removeDuplicateElements()

Daher müssen wir unseren eigenen Code schreiben, um doppelte Elemente im zweistelligen Array zu entfernen. Wir können eine Schleife verwenden, um jedes Element im zweistelligen Array zu durchlaufen und bei jedem Schritt das aktuelle Element mit dem vorherigen Element zu vergleichen, um zu sehen, ob es dasselbe ist. Wenn sie gleich sind, löschen Sie das aktuelle Element. Das Folgende ist die Code-Implementierung:

rrreee

Im obigen Code haben wir eine Funktion namens removeDuplicateElements() erstellt, die ein zweistelliges Array als Parameter akzeptiert und zurückgibt ein zweistelliges Array mit entfernten doppelten Elementen.

Die Funktion verwendet intern zwei foreach-Schleifen, um das Array zu durchlaufen. Die erste Schleife wird verwendet, um jedes Element im zweistelligen Array zu durchlaufen. Bei jedem Schritt wird eine zweite Schleife verwendet, um die Elemente zu durchlaufen, die dem Ergebnisarray $result hinzugefügt wurden, und das aktuelle Element mit dem vorherigen Element zu vergleichen. #🎜🎜##🎜🎜#Wenn das aktuelle Element mit dem vorherigen Element identisch ist, verwenden Sie die Funktion unset(), um das aktuelle Element zu löschen. Die Funktion unset() wird verwendet, um die angegebene Variable zu zerstören. Hier wird es verwendet, um bestimmte Elemente aus einem Array zu entfernen. Wenn das aktuelle Element nicht mit dem vorherigen Element übereinstimmt, wird das aktuelle Element zum resultierenden Array hinzugefügt. #🎜🎜##🎜🎜#3. Testen und Anwendung#🎜🎜##🎜🎜#Wir können eine Testfunktion erstellen, um die Wirksamkeit der Funktion removeDuplicateElements() zu testen. Hier ist der Code für die Testfunktion: #🎜🎜#rrreee#🎜🎜#Im obigen Code erstellen wir ein zweistelliges Array mit fünf Elementen, von denen zwei wiederholt werden. Anschließend rufen wir die Funktion removeDuplicateElements() auf, um doppelte Elemente zu entfernen und das Ergebnis auszudrucken. #🎜🎜##🎜🎜#Wenn wir die Testfunktion ausführen, wird ein zweistelliges Array mit drei Elementen ausgegeben, wobei doppelte Elemente entfernt werden. #🎜🎜##🎜🎜#In diesem Artikel wird beschrieben, wie identische Elemente in einem zweistelligen Array gelöscht werden. Wir verwenden eine Schleife, um das Array zu durchlaufen und jedes Element zu vergleichen, um zu sehen, ob es mit dem vorherigen Element identisch ist. Wenn sie gleich sind, löschen Sie das aktuelle Element. Auf diese Weise können wir doppelte Elemente im zweistelligen Array leicht entfernen, um die Daten eindeutig zu halten. #🎜🎜#

Das obige ist der detaillierte Inhalt vonSo löschen Sie dieselben Elemente in einem zweidimensionalen 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
Vorheriger Artikel:So tauschen Sie PHP-Arrays ausNächster Artikel:So tauschen Sie PHP-Arrays aus