In PHP sind Array_Chunk und Array_filter sehr nützliche Funktionen. Array_Chunk kann ein großes Array in kleine Stücke schneiden, während Array_filter die Filterbedingungen auf jedes Element im Array anwenden kann und Elemente beibehält, die den Bedingungen erfüllen. Wenn Sie diese beiden Funktionen kombinieren, ist es möglich, Daten nach Block effizient zu filtern.
Angenommen, wir haben ein Array mit einer großen Anzahl von Elementen, und wir möchten das Array um eine bestimmte Blockgröße in Scheiben schneiden, und nur Elemente, die bestimmte Bedingungen erfüllen, werden erhalten. Anschließend können wir Array_Chunk zum Schneiden verwenden und dann Array_filter verwenden, um die Elemente in jedem Schicht zu filtern.
Angenommen, wir haben eine Reihe von Benutzern, die den Namen und das Alter des Benutzers enthalten, und wir müssen Benutzer, die älter als oder gleich 18 Jahre alt sind, nach Block herausfiltern.
<?php
// Rohdatenarray
$users = [
['name' => 'Alice', 'age' => 25],
['name' => 'Bob', 'age' => 17],
['name' => 'Charlie', 'age' => 20],
['name' => 'David', 'age' => 15],
['name' => 'Eva', 'age' => 22],
['name' => 'Frank', 'age' => 19],
];
// Split -Array für Block
$chunks = array_chunk($users, 2); // Jeder Block enthält 2 Ein Benutzer
// Filtern Sie jedes Stück,Alter behalten >= 18 Benutzer
$filteredChunks = array_map(function($chunk) {
return array_filter($chunk, function($user) {
return $user['age'] >= 18;
});
}, $chunks);
// Druckfilterte Ergebnisse drucken
print_r($filteredChunks);
?>
Array_Chunk ($ Benutzer, 2) Teilen Sie das ursprüngliche Benutzerarray in kleine Arrays mit 2 Benutzern pro Block.
Mit Array_Map können wir die Funktion array_filter auf jedes kleine Array anwenden (d. H. Jedes Datenstück).
Array_filter filtert Benutzer, die die Altersanforderungen erfüllen, basierend auf den Bedingungen des Benutzers ['Alter']> = 18 .
Schließlich enthält das $ filteredChunks -Array die gefilterten Daten für jeden Block.
Array
(
[0] => Array
(
[0] => Array
(
[name] => Alice
[age] => 25
)
[2] => Array
(
[name] => Charlie
[age] => 20
)
)
[1] => Array
(
[4] => Array
(
[name] => Eva
[age] => 22
)
[5] => Array
(
[name] => Frank
[age] => 19
)
)
)
Sie können die Filterbedingungen gemäß den tatsächlichen Bedingungen ändern, um unterschiedliche Anforderungen zu erfüllen. Wenn wir beispielsweise Benutzer zwischen 18 und 30 Jahren herausfiltern möchten, können wir die Filterfunktion anpassen:
$filteredChunks = array_map(function($chunk) {
return array_filter($chunk, function($user) {
return $user['age'] >= 18 && $user['age'] <= 30;
});
}, $chunks);
Auf diese Weise können Sie flexibel mit unterschiedlichen Filteranforderungen umgehen.
Durch die Kombination von Array_Chunk und Array_filter können wir leicht große Arrays in Stücken verarbeiten und eine bedingte Filterung in jedem Block durchführen. Diese Methode eignet sich zur Verarbeitung großer Datenmengen, wodurch der Speicherverbrauch effektiv reduziert und die Leistung verbessert und gleichzeitig der Code prägnanter und leicht verständlicher wird.
Ich hoffe, dieser Artikel wird für Sie hilfreich sein, um die Verwendung von Array_Chunk und Array_Filter zu verstehen! Wenn Sie Fragen haben oder an anderen PHP -Funktionen interessiert sind, besuchen Sie bitte unsere Website!
Verwandte Tags:
array_filter