Heim >Backend-Entwicklung >PHP-Problem >So überprüfen Sie, ob in einem Array in PHP Duplikate vorhanden sind

So überprüfen Sie, ob in einem Array in PHP Duplikate vorhanden sind

PHPz
PHPzOriginal
2023-04-26 10:23:51903Durchsuche

In PHP ist das Überprüfen eines Arrays auf doppelte Werte eine grundlegende Aufgabe. In diesem Artikel untersuchen wir, wie Sie überprüfen können, ob in einem Array in PHP doppelte Werte vorhanden sind, und stellen einige Lösungen bereit.

1. Integrierte PHP-Funktionen verwenden

PHP verfügt über viele nützliche integrierte Funktionen, mit denen sich Array-Probleme in PHP leicht lösen lassen. Hier ist eine dieser Funktionen:

array_unique() – Duplikate aus einem Array entfernen

Wenn Ihr Ziel darin besteht, doppelte Werte vollständig zu entfernen, ist diese Methode sehr einfach. Es wird ein neues Array zurückgegeben, das nur eindeutige Werte enthält. Wenn es ein Sortierproblem gibt, können Sie zum Sortieren die Funktion sort() verwenden.

Zum Beispiel:

$array = array(1, 2, 2, 3, 4, 4, 4, 5);
$array = array_unique($array);
print_r($array);

Ausgabe:

Array (
      [0] => 1
      [1] => 2
      [3] => 3
      [4] => 4
      [7] => 5
    )

Wie oben gezeigt, haben wir gerade das vorherige Array an die Funktion array_unique() übergeben und dieselben Werte dedupliziert. Diese Methode ist jedoch nur dazu geeignet, doppelte Werte vollständig zu eliminieren. array_unique()函数,并且对相同的值进行了去重。但这个方法只适用于完全消除重复值的情况下。

二、使用PHP循环

如果你需要找到数组中所有的重复值,可能最好的选择是使用循环。以下是一种使用 PHP 循环查找重复值的方法:

$array = array(2, 5, 6, 2, 8, 5, 1);
 
$result_array = array();
foreach ($array as $val) {
    $result_array[$val] = isset($result_array[$val]) ? ++$result_array[$val] : 1;
}
 
foreach ($result_array as $key => $val) {
    if ($val > 1) {
        echo "{$key} 重复了{$val}次 <br>";
    }
}

输出:

2 重复了2次
5 重复了2次

在上面的代码中,我们使用一个循环来遍历数组,并将每个元素用作结果数组的关键字。如果一个键被接管了,那么它被自增,每次出现一个键。如果有任何键被重复了很多次,那么我们可以通过另一个循环来输出这个元素以及出现的次数。

三、使用PHP count()函数

有时候,我们需要快速检查一个数组中是否有重复值,并且不需要移除重复值。在这种情况下,我们可以使用 PHP 的 count() 函数。

下面是这种方法的示例:

$array = array(2, 5, 6, 2, 8, 5, 1);
 
if (count($array) === count(array_unique($array))) {
    echo "没有重复值";
} else {
    echo "有重复值";
}

输出:

有重复值

在上面的代码中,我们使用array_unique()函数来去重,然后用count()函数检查两个数组的大小是否相同。如果它们是相同并且数组内没有重复值,那么count($array) === count(array_unique($array))

2. Verwenden Sie PHP-Schleifen

Wenn Sie alle doppelten Werte in einem Array finden müssen, ist die Verwendung einer Schleife wahrscheinlich die beste Option. Hier ist eine Möglichkeit, doppelte Werte mithilfe einer PHP-Schleife zu finden:

$array = array(2, 5, 6, 2, 8, 5, 1);

$splObj = new SplObjectStorage();

foreach ($array as $value) {
    $splObj->attach($value);
}

if (count($array) === $splObj->count()) {
    echo "没有重复值";
} else {
    echo "有重复值";
}
Ausgabe:
    rrreee
  1. Im obigen Code verwenden wir eine Schleife, um das Array zu durchlaufen und jedes Element als Schlüssel für das resultierende Array zu verwenden. Wird ein Schlüssel übernommen, so wird dieser jeweils um einen Schlüssel erhöht. Wenn ein Schlüssel viele Male wiederholt wird, können wir eine weitere Schleife durchlaufen, um dieses Element zusammen mit der Anzahl der Vorkommen auszugeben.
  2. 3. Verwenden Sie die PHP-Funktion count()
  3. Manchmal müssen wir schnell überprüfen, ob ein Array doppelte Werte enthält, ohne die doppelten Werte zu entfernen. In diesem Fall können wir die Funktion count() von PHP verwenden.
Hier ist ein Beispiel für diesen Ansatz:

rrreee

Ausgabe:

rrreee

Im obigen Code verwenden wir die Funktion array_unique(), um Duplikate zu entfernen und verwenden dann die Funktion count(), um zu überprüfen, ob die beiden Arrays gleich sind Größe. Wenn sie gleich sind und es keine doppelten Werte im Array gibt, wird count($array) === count(array_unique($array)) als wahr ausgewertet. 🎜🎜Fazit🎜🎜Überprüfen, ob ein Array doppelte Werte enthält, kann in PHP eine häufige Aufgabe sein. In diesem Artikel haben wir drei Möglichkeiten besprochen, um zu überprüfen, ob in einem PHP-Array doppelte Werte vorhanden sind: 🎜🎜🎜Mit der in PHP integrierten Funktion array_unique() können Sie doppelte Werte aus einem Array entfernen. 🎜🎜Mit der PHP-Schleife können Sie alle doppelten Werte finden. 🎜🎜Verwenden Sie die PHP-Funktion count(), um schnell zu überprüfen, ob ein Array doppelte Werte enthält. 🎜🎜🎜Darüber hinaus können ähnliche Effekte auch mit Sammlungsmethoden erzielt werden. Verwenden Sie einfach die in PHP integrierte SplObjectStorage-Klasse. Abschließend wird ein Codeabschnitt zur Verfügung gestellt, der die SplObjectStorage-Klasse verwendet, um nach doppelten Werten zu suchen: 🎜rrreee🎜Das Obige ist eine Methode, mit der PHP verwendet werden kann, um zu überprüfen, ob ein Array doppelte Werte enthält es wird Ihnen hilfreich sein. 🎜

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie, ob in einem Array in PHP Duplikate vorhanden sind. 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