40434
laravelで下記のようにコードを書きました。

```

    $array = array('hoge','fuga');
    
    $grid->filter(function($filter){
       $filter->equal('column', 'column_label')->select($array);
    });
    
```

ただ、この場合だと「Undefined variable: array」としてエラーが表示されます。  
以下のような記述であれば正常に動作するのですが、前述のコードで動作させるにはどのようにすればよいでしょうか？

```

    $grid->filter(function($filter){
       $array = array('hoge','fuga');
       $filter->equal('column', 'column_label')->select($array);
    });
    
```

自分なりに調べて

```

    global $array;
    
```

なども追加してみたのですが、上手く行きませんでした。  
よろしくお願いします。
CC BY-SA 3.0
2017-12-21T02:01:59.380
40433
2017-12-21T02:16:40.883
26236
question
php laravel
laravel で Undefined variable エラー
`use` を使います。

```

    $array = ['hoge','fuga'];
    
    $grid->filter(function ($filter) use ($array) {
       $filter->equal('column', 'column_label')->select($array);
    });
    
```

クロージャのスコープについて詳しくは[PHPのドキュメント参照](http://php.net/manual/ja/functions.anonymous.php)。
CC BY-SA 3.0
2017-12-21T02:16:40.883
40434
2017-12-21T02:16:40.883
2376
40433
answer