Heim >Backend-Entwicklung >PHP-Problem >So entfernen Sie identische Elemente aus zwei Arrays mithilfe der PHP-Sprache

So entfernen Sie identische Elemente aus zwei Arrays mithilfe der PHP-Sprache

PHPz
PHPzOriginal
2023-04-25 09:01:16510Durchsuche

Beim Schreiben von PHP-Code müssen wir uns oft mit Arrays befassen. Wenn in zwei Arrays dieselben Werte vorhanden sind, ist es manchmal erforderlich, diese identischen Elemente zu entfernen, um das Array sauberer und übersichtlicher zu machen. In diesem Artikel erfahren Sie, wie Sie mithilfe der PHP-Sprache dieselben Elemente aus zwei Arrays entfernen.

1. Verwenden Sie die Funktion array_intersect

Mit der Funktion array_intersect können Sie problemlos die Schnittoperation für zwei Arrays durchführen, d. h. die gleichen Elemente in den beiden Arrays erhalten. Um jedoch die Funktion zum Entfernen identischer Elemente zu erreichen, müssen Sie die Funktion array_diff verwenden, um die erhaltenen identischen Elemente aus dem ursprünglichen Array auszuschließen. Das Folgende ist ein Beispielcode:

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(4, 5, 6, 7, 8);

//获取两个数组中相同的元素
$intersect = array_intersect($array1, $array2);

//从原数组中排除获取到的相同元素
$result = array_diff($array1, $intersect);

print_r($result); //输出结果为 Array ( [0] => 1 [1] => 2 [2] => 3 )

2. Verwenden Sie die foreach-Funktion

Zusätzlich zur Verwendung der Systemfunktion zum Betrieb können wir auch die foreach-Schleife verwenden und diese mit den in PHP integrierten Funktionen array_search und unset zum Entfernen kombinieren die gleichen Elemente aus zwei Arrays. Der Beispielcode lautet wie folgt:

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(4, 5, 6, 7, 8);

foreach($array1 as $key=>$value){
    if(in_array($value, $array2)){
        unset($array1[$key]);
    }
}

print_r($array1); //输出结果为 Array ( [0] => 1 [1] => 2 [2] => 3 )

Im obigen Beispielcode durchläuft die foreach-Schleife das Array $array1, verwendet die Funktion array_search, um das Array $array2 zu durchsuchen, um zu sehen, ob der Wert vorhanden ist, und verwendet, wenn er vorhanden ist, den nicht gesetzten Wert Funktion zum Entfernen des Elements.

3. Verwenden Sie die Funktion array_filter

Verwenden Sie die Funktion array_filter, um die Elemente im Array zu filtern und zu bestimmen, ob die Elemente basierend auf der benutzerdefinierten Funktion beibehalten werden sollen. Daher können wir die Funktion array_filter und die Funktion in_array kombinieren, um dieselben Elemente aus den beiden Arrays zu entfernen. Der Beispielcode lautet wie folgt:

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(4, 5, 6, 7, 8);

$res = array_filter($array1, function($value) use($array2){
    return !in_array($value, $array2);
});

print_r($res); //输出结果为 Array ( [0] => 1 [1] => 2 [2] => 3 )

Im obigen Beispielcode wird eine benutzerdefinierte Funktion verwendet, um den Filtervorgang zu implementieren Die Return-Anweisung gibt die Elemente zurück, die beibehalten werden müssen.

Mit den oben genannten drei Methoden können jeweils dieselben Elemente in zwei Arrays entfernt werden. Je nach tatsächlicher Situation sollten unterschiedliche Methoden ausgewählt werden. Es ist zu beachten, dass sich „gleiche Elemente“ hier darauf beziehen, dass sie denselben Wert haben, und nicht darauf, ob sie aufgrund der Kongruenzbeurteilung gleich sind (===).

Das obige ist der detaillierte Inhalt vonSo entfernen Sie identische Elemente aus zwei Arrays mithilfe der PHP-Sprache. 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