Heim >Backend-Entwicklung >PHP-Problem >So ermitteln Sie, ob Arrays in PHP denselben Wert haben

So ermitteln Sie, ob Arrays in PHP denselben Wert haben

PHPz
PHPzOriginal
2023-04-26 10:22:28959Durchsuche

In PHP gibt es viele Möglichkeiten, festzustellen, ob ein Array denselben Wert hat. Lassen Sie uns diese Methoden separat vorstellen.

Methode 1: Schleifendurchquerung verwenden

Die Verwendung einer Schleife zum Durchlaufen des Arrays ist die einfachste Methode. Der Code lautet wie folgt:

function hasDuplicate($arr) {
    $len = count($arr);
    for ($i = 0; $i < $len; $i++) {
        for ($j = $i+1; $j < $len; $j++) {
            if ($arr[$i] == $arr[$j]) {
                return true;
            }
        }
    }
    return false;
}

Diese Methode verwendet eine Doppelschleife, bei der zuerst jedes Element im Array und dann jedes Element durchlaufen wird Anschließend wird verglichen und true zurückgegeben, wenn dieselben vorhanden sind. Andernfalls wird false zurückgegeben.

Methode 2: Verwenden Sie die in PHP integrierte Funktion array_unique(), um doppelte Werte im Array zu entfernen. Durch Vergleichen der Länge des Arrays können Sie feststellen, ob Es gibt doppelte Werte im ursprünglichen Array. Code wie folgt:

function hasDuplicate($arr) {
    $unique_arr = array_unique($arr);
    return count($arr) != count($unique_arr);
}

Diese Methode verwendet zuerst die Funktion array_unique(), um doppelte Werte zu entfernen, und vergleicht dann, ob die Längen des ursprünglichen Arrays und Die deduplizierten Arrays sind gleich. Wenn sie nicht gleich sind, bedeutet dies, dass im ursprünglichen Array Duplikate vorhanden sind. array_unique() 可以去除数组中的重复值,通过比较数组的长度,就可以判断原始数组中是否有重复值,代码如下:

function hasDuplicate($arr) {
    $counts = array_count_values($arr);
    foreach ($counts as $count) {
        if ($count > 1) {
            return true;
        }
    }
    return false;
}

该方法先使用 array_unique() 函数去除重复值,然后比较原始数组和去重后的数组的长度是否相等,如果不相等,则说明原始数组中有重复值。

方法三:使用PHP内置函数

PHP内置函数 array_count_values() 可以返回一个数组中所有元素的出现次数,通过比较数组中每个值的出现次数是否超过1,就可以判断原始数组中是否有重复值,代码如下:

function hasDuplicate($arr) {
    $unique_arr = array_unique($arr);
    $diff_arr = array_diff_assoc($arr, $unique_arr);
    return !empty($diff_arr);
}

该方法先使用 array_count_values() 函数获取每个元素的出现次数,然后遍历每个元素的出现次数,若有元素出现次数超过1,则说明原始数组中有重复值。

方法四:使用PHP内置函数

PHP内置函数 array_diff_assoc() 可以比较两个数组的键值是否相同,通过比较原始数组和去重后的数组的差集,就可以判断原始数组中是否有重复值,代码如下:

rrreee

该方法先使用 array_unique() 函数去除重复值,然后使用 array_diff_assoc()

Methode 3: Die in PHP integrierte Funktion array_count_values() kann die Anzahl der Vorkommen aller Elemente in einem Array zurückgeben, indem sie die Anzahl der Vorkommen jedes einzelnen Elements vergleicht Der Wert im Array überschreitet 1. Sie können feststellen, ob im ursprünglichen Array doppelte Werte vorhanden sind. Der Code lautet wie folgt:

rrreee

Diese Methode verwendet zuerst die Funktion array_count_values(), um die zu erhalten Anzahl der Vorkommen jedes Elements, und iteriert dann durch die Anzahl der Vorkommen jedes Elements. Wenn das Element mehr als 1 vorkommt, bedeutet dies, dass im ursprünglichen Array doppelte Werte vorhanden sind. 🎜🎜Methode 4: Verwenden Sie die in PHP integrierte Funktion array_diff_assoc(), um zu vergleichen, ob die Schlüsselwerte zweier Arrays gleich sind, indem Sie den Unterschied zwischen den Originalen vergleichen Array und das deduplizierte Array. Sie können feststellen, ob im ursprünglichen Array doppelte Werte vorhanden sind. Der Code lautet wie folgt: 🎜rrreee🎜Diese Methode verwendet zunächst die Funktion array_unique(), um doppelte Werte zu entfernen , und verwendet dann die Funktion array_diff_assoc(), um die beiden Arrays zu vergleichen und schließlich zu bestimmen, ob der Differenzsatz leer ist. Wenn nicht, bedeutet dies, dass im ursprünglichen Array doppelte Werte vorhanden sind. 🎜🎜Zusammenfassend können die oben genannten vier Methoden verwendet werden, um festzustellen, ob ein Array den gleichen Wert hat. Jede hat ihre eigenen Vor- und Nachteile. Sie können die geeignete Methode entsprechend der tatsächlichen Situation auswählen. 🎜

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob Arrays in PHP denselben Wert haben. 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