Zusätzliche Parameter in array_filter() Funktion übergeben

Die array_filter() Funktion von PHP ist sehr praktisch wenn es darum geht, Daten in einem nach individuellen Kriterien zu filtern.

Das folgende Beispiel ist simpel: Hier werden die Einträge einfach darauf gefiltert, ob die Zahl gerade ist.

$items = [1, 2, 3, 4, 5, 6, 7, 8];
 
# Only even numbers.
$evenNumbers = array_filter($items, function($item) {
  return $item % 2 == 0;
});

use() für die Übergabe zusätzlicher Parameter

In anderen Fällen besteht jedoch der Bedarf, dass zusätzliche Parameter evaluiert werden müssen, die außerhalb der array_filter() Funktion definiert wurden. Auf diese kann innerhalb der Funktion nicht zugegriffen werden, außer sie werden explizit mit use() übergeben.

$threshold = 5;
$items = [1, 2, 3, 4, 5, 6, 7, 8];
 
# Only numbers below the threshold.
$belowThreshold = array_filter($items, function($item) use($threshold) {
  // By using of use() the variable $threshold is available here.
 
  return $item < $threshold;
});