Heim >Backend-Entwicklung >PHP-Tutorial >Wie filtere ich Array-Zeilen nach übereinstimmenden Werten mit array_uintersect()?
Array-Zeilen, die mit Werten übereinstimmen, in einem flachen Array aufbewahren
Hintergrund:
Sie haben eine Array, $arr1, mit mehreren Spalten und ein weiteres Array, $arr2, das eine Liste von Werten enthält. Das Ziel besteht darin, $arr1 zu filtern und nur die Zeilen beizubehalten, in denen die ID-Spalte mit einem beliebigen Wert in $arr2 übereinstimmt.
Lösung:
Verwenden von array_uintersect() :
Die effizienteste Lösung nutzt die Funktion array_uintersect(), die Elemente aus zwei Arrays mithilfe eines benutzerdefinierten Rückrufs vergleicht. In diesem Fall prüft der Rückruf, ob die ID-Werte übereinstimmen.
var_export( array_uintersect( $arr1, $arr2, fn($a, $b) => ($a['id'] ?? $a) <=> ($b['id'] ?? $b) ) );
Erklärung:
Vorteile von array_uintersect():
Das obige ist der detaillierte Inhalt vonWie filtere ich Array-Zeilen nach übereinstimmenden Werten mit array_uintersect()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!