Heim >Backend-Entwicklung >PHP-Problem >PHP überprüft, ob ein eindimensionales Array doppelte Werte enthält

PHP überprüft, ob ein eindimensionales Array doppelte Werte enthält

王林
王林Original
2023-05-11 10:01:06629Durchsuche

Vorwort

Bei der Webentwicklung ist die Einzigartigkeit von Daten sehr wichtig. Daher ist es eine wichtige Überlegung, wie die Einzigartigkeit von Daten sichergestellt werden kann. In vielen Fällen müssen wir überprüfen, ob in einem Array doppelte Daten vorhanden sind. PHP bietet viele Methoden, um diese Funktion zu erreichen.

1. Verwenden Sie die Funktionen count und array_unique.

Einführung

In PHP können Sie die Funktionen count und array_unique verwenden, um den Inhalt von zu bestimmen ein eindimensionales Array Gibt es doppelte Werte?

Methodenbeschreibung

Die Zählfunktion kann verwendet werden, um die Anzahl der Elemente in einem Array zu ermitteln. Wenn die Anzahl der Elemente der Anzahl der Elemente nach der Deduplizierung entspricht, bedeutet dies dass es keine doppelten Werte gibt. Die Funktion array_unique kann verwendet werden, um nach der Deduplizierung ein neues Array zurückzugeben und zu vergleichen, ob die Anzahl der Elemente im ursprünglichen Array und im Deduplizierungsarray gleich ist, um festzustellen, ob doppelte Werte vorhanden sind.

Code-Implementierung

function isDuplicate($arr) {
    return count($arr) === count(array_unique($arr));
}

// 使用示例
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [1, 2, 3, 4, 4, 5];
var_dump(isDuplicate($arr1)); // 输出 bool(true)
var_dump(isDuplicate($arr2)); // 输出 bool(false)

2. Verwenden Sie die Funktion array_count_values ​​

Einführung

In PHP können Sie array_count_values ​​verwenden ​​Funktion Ermitteln Sie die Anzahl der Vorkommen jedes Elements in einem eindimensionalen Array und filtern Sie die Elemente heraus, deren Anzahl größer als 1 ist, um festzustellen, ob doppelte Werte vorhanden sind.

Methodenbeschreibung

array_count_values ​​​​kann verwendet werden, um ein assoziatives Array zurückzugeben, und der Wert ist die Zahl Anzahl der Vorkommen des Werts im ursprünglichen Array.

Code-Implementierung

function isDuplicate($arr) {
    $values = array_count_values($arr);
    return max($values) === 1;
}

// 使用示例
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [1, 2, 3, 4, 4, 5];
var_dump(isDuplicate($arr1)); // 输出 bool(true)
var_dump(isDuplicate($arr2)); // 输出 bool(false)

3. Verwendung der for-Schleife und der in_array-Funktion

Einführung

In PHP können Sie verwenden Die for-Schleife und die Funktion in_array werden verwendet, um die Elemente im Array zu durchlaufen und zu bestimmen, ob das Element im Array erscheint.

Methodenbeschreibung

Die for-Schleife wird verwendet, um die Elemente im Array zu durchlaufen, und die Funktion in_array wird verwendet, um zu bestimmen, ob ein Element im Array erscheint.

Code-Implementierung

function isDuplicate($arr) {
    $len = count($arr);
    for ($i = 0; $i < $len; $i++) {
        if (in_array($arr[$i], array_slice($arr, $i + 1))) {
            return false;
        }
    }
    return true;
}

// 使用示例
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [1, 2, 3, 4, 4, 5];
var_dump(isDuplicate($arr1)); // 输出 bool(true)
var_dump(isDuplicate($arr2)); // 输出 bool(false)

4. Verwendung der Funktion array_count_values ​​​​und der Funktion array_filter in PHP 7

Einführung

In In PHP 7 können Sie die Funktionen array_count_values ​​​​und array_filter verwenden, um festzustellen, ob in einem eindimensionalen Array doppelte Werte vorhanden sind.

Methodenbeschreibung

array_count_values ​​​​kann verwendet werden, um ein assoziatives Array zurückzugeben, und der Wert ist die Zahl Anzahl der Vorkommen des Werts im ursprünglichen Array. Die Funktion array_filter kann zum Filtern von Elementen in einem Array verwendet werden. Wenn das Element die Anforderungen der Callback-Funktion erfüllt, wird das Element beibehalten.

Code-Implementierung

function isDuplicate($arr) {
    $values = array_count_values($arr);
    $duplicate_values = array_filter($values, function ($value) {
        return $value > 1;
    });
    return count($duplicate_values) === 0;
}

// 使用示例
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [1, 2, 3, 4, 4, 5];
var_dump(isDuplicate($arr1)); // 输出 bool(true)
var_dump(isDuplicate($arr2)); // 输出 bool(false)

Zusammenfassung

In diesem Artikel werden vier Methoden in PHP vorgestellt, um festzustellen, ob in einem eindimensionalen Array doppelte Werte vorhanden sind , einschließlich der Verwendung der Funktionen count und array_unique, Verwendung der Funktion array_count_values ​​​​, Verwendung der for-Schleife und der Funktion in_array sowie Verwendung der Funktion array_count_values ​​​​und der Funktion array_filter in PHP 7. Jede dieser Methoden hat ihre eigenen Vor- und Nachteile. Entwickler können entsprechend der tatsächlichen Situation die am besten geeignete Methode auswählen, um festzustellen, ob ein eindimensionales Array doppelte Werte enthält.

Das obige ist der detaillierte Inhalt vonPHP überprüft, ob ein eindimensionales Array doppelte Werte enthält. 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