无法在函数内访问变量作为变量

Ada*_*m W 5 php

我无法将函数中的变量作为变量访问:

public function fetchWhere($params) {
  $resultSet = $this->select(function(Select $select) {
    $select->where($params);
  });
..
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Undefined variable: params
Run Code Online (Sandbox Code Playgroud)

TiM*_*TER 3

然后,您需要use构造以使变量在函数内可用/可见:

public function fetchWhere($params) {
    $resultSet = $this->select(function(Select $select) use($params) {
        $select->where($params);
    });
}
Run Code Online (Sandbox Code Playgroud)

您甚至可以用它传递多个变量。只需用逗号分隔其他变量,,例如... use($param1, $param2, ...) {.