在 where 子句 LINQ PHP 中发送一个变量

Send a variable in where clause LINQ PHP

对于 PHP 中的 LINQ,我使用了 https://github.com/Athari/YaLinqo

我不知道如何在 where 子句中传递变量。

public function filter($arr, $find) {
   Enumerable::from($arr)->where(function($val) { return stripos($val->item, $find) > -1; })->toArray();
}

似乎无法正常工作 $find 未定义但我将其作为方法的参数发送。

您可以使用 use 语句:

Enumerable::from($arr)
  ->where(function($val) use ($find) {
    return stripos($val->item, $find) > -1; 
  })
  ->toArray();