Heim  >  Artikel  >  Backend-Entwicklung  >  So finden Sie verschiedene Werte in einem Array in PHP

So finden Sie verschiedene Werte in einem Array in PHP

PHPz
PHPzOriginal
2023-04-25 09:02:53657Durchsuche

Bei der PHP-Programmierung müssen wir uns häufig mit Arrays befassen. Während der Array-Verarbeitung müssen Sie gelegentlich unterschiedliche Werte im Array finden (d. h. es gibt keine wiederholten Werte). Im Folgenden stellen wir verschiedene Methoden vor, die Ihnen helfen, verschiedene Werte in PHP-Arrays zu finden.

Methode 1: Verwenden Sie die Funktion array_unique.

array_unique() gibt ein Array mit entfernten doppelten Werten zurück. Diese Funktion entfernt doppelte Werte unter Beibehaltung der Array-Schlüssel. Das Folgende ist ein Beispiel für die Verwendung der Funktion array_unique():

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

Ausgabe:

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

In diesem Beispiel verwenden wir die Funktion array_unique(), um Duplikate im $ zu entfernen arr-Array-Wert, ein neues Array $unique_arr wurde erhalten.

Diese Methode hat jedoch einen Nachteil: Sie kann nur unterschiedliche Werte in einem Array finden. Wenn Sie in mehreren Arrays unterschiedliche Werte finden müssen, müssen Sie zusätzlichen Code schreiben.

Methode 2: Verwenden Sie die Funktion array_diff.

Die Funktion array_diff() wird verwendet, um den Differenzsatz von Arrays zu berechnen. Es wird ein Array zurückgegeben, das alle Elemente im Array $arr1 enthält, jedoch nicht in den Arrays $arr2, $arr3 usw. Das Folgende ist ein Beispiel für die Verwendung der Funktion array_diff():

    $arr1 = array(1, 2, 3, 4, 5);
    $arr2 = array(3, 4, 5, 6, 7);
    $diff_arr = array_diff($arr1, $arr2);
    print_r($diff_arr);

Ausgabe:

    Array
    (
        [0] => 1
        [1] => 2
    )

In diesem Beispiel verwenden wir die Funktion array_diff(), um $arr1 und zu vergleichen $arr2 arrays Difference set, ein neues Array $diff_arr wird erhalten, das Elemente im $arr1-Array, aber nicht im $arr2-Array enthält.

Sie können mehrere Arrays als Parameter der Funktion array_diff() verwenden, wie zum Beispiel:

    $arr1 = array(1, 2, 3, 4, 5);
    $arr2 = array(3, 4, 5, 6, 7);
    $arr3 = array(5, 6, 7, 8, 9);
    $diff_arr = array_diff($arr1, $arr2, $arr3);
    print_r($diff_arr);

Ausgabe:

    Array
    (
        [0] => 1
        [1] => 2
    )

In diesem Beispiel haben wir vergleichen Sie erhalten die Differenz zwischen den Arrays $arr1, $arr2 und $arr3 und erhalten ein neues Array $diff_arr, das die Elemente im Array $arr1, jedoch nicht in den Arrays $arr2 und $arr3 enthält.

Methode 3: Schleifensuche verwenden

Die foreach-Schleife von PHP ist eine sehr praktische Schleifenmethode. Wir können die foreach-Schleife und die if-Bedingungsanweisung verwenden, um verschiedene Werte in einem Array zu finden. Das Folgende ist ein Beispiel für die Verwendung einer foreach-Schleife und einer if-Anweisung:

    $arr = array(1, 2, 3, 4, 3, 5, 4, 6);
    $result_arr = array();    // 新建一个空数组
    foreach ($arr as $value)
    {
        $count = 0;           // 新建一个变量来计数
        foreach ($arr as $sub_value)
        {
            if ($value == $sub_value)
            {
                $count++;
            }
        }
        if ($count == 1)      // 如果计数为1,说明是不同的值
        {
            $result_arr[] = $value;
        }
    }
    print_r($result_arr);

Ausgabe:

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

In diesem Beispiel erstellen wir ein neues leeres Array $result_arr, um verschiedene Werte zu speichern . Verwenden Sie eine foreach-Schleife, um das Array $arr zu durchlaufen, und verwenden Sie dann eine weitere foreach-Schleife, um die Anzahl der Vorkommen des Elements im Array zu zählen. Wenn die Anzahl der Vorkommen 1 beträgt, fügen Sie das Element dem Array $result_arr hinzu.

Der Nachteil dieser Methode besteht darin, dass die Effizienz möglicherweise geringer ist, wenn das Array größer ist.

Methode 4: Verwenden Sie die Funktion array_count_values.

Die Funktion array_count_values() wird verwendet, um die Häufigkeit des Vorkommens aller Werte im Array zu zählen. Es gibt ein Array zurück, dessen Schlüssel die Werte im $arr-Array sind und dessen Werte die Häufigkeit sind, mit der dieser Wert im $arr-Array erscheint. Das Folgende ist ein Beispiel für die Verwendung der Funktion array_count_values():

    $arr = array(1, 2, 3, 4, 3, 5, 4, 6);
    $count_arr = array_count_values($arr);
    $result_arr = array();
    foreach ($count_arr as $key => $value)
    {
        if ($value == 1)
        {
            $result_arr[] = $key;
        }
    }
    print_r($result_arr);

Ausgabe:

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

In diesem Beispiel verwenden wir die Funktion array_count_values(), um das Vorkommen jedes einzelnen zu zählen Element im $arr-Array, und verwenden Sie dann eine foreach-Schleife, um das Ergebnisarray zu durchlaufen, das Element zu finden, dessen Vorkommensnummer 1 ist, und es dem $result_arr-Array hinzuzufügen.

Der Vorteil dieser Methode besteht darin, dass der Code einfach ist, der Nachteil besteht jedoch darin, dass sie möglicherweise mehr Speicher verbraucht.

Fazit

Das Obige stellt vier Methoden vor, um verschiedene Werte in einem Array in PHP zu finden. In der tatsächlichen Entwicklung müssen wir die am besten geeignete Methode entsprechend der tatsächlichen Situation auswählen. Wenn das Array klein ist, können Sie Methode drei oder vier verwenden. Wenn Sie unterschiedliche Werte in mehreren Arrays suchen müssen, können Sie Methode zwei verwenden Methode eins.

Das obige ist der detaillierte Inhalt vonSo finden Sie verschiedene Werte 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