$arr = array( array( 'catid' => 2, 'catdir' => 'notice', ), array( 'catid' => 5, 'catdir' => 'subject', ), array( 'catid' => 6, 'catdir' => 'news' ),);$catid = 5;$res = array_filter($arr, function($param) use ($catid) { return $param['catid'] == $catid;});print_r($res);我现在的代码输出的是如下一个二级数组array(1) {
[1]=>
array(2) {
["catid"]=> int(5)
["catdir"]=> string(7) "subject"
}
}我想要输出如下格式array(2) {
["catid"]=> int(5)
["catdir"]=> string(7) "subject"}另外我对闭包函数不太明白,还有如下问题1、$param和$catid这两个变量分别做什么用的2、use在这里又是做什么用的
2 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
$res = current($res);
use的作用是继承变量,讲简单点就是使用外面的变量,你定义一个方法时可以通过传参数的方式,但是如果你使用一个匿名方法,就没法传参数了,就用use,等同于传参数
添加回答
举报
0/150
提交
取消
