为了账号安全,请及时绑定邮箱和手机立即绑定

PHP如何用array_filter加闭包函数过滤数组?

PHP如何用array_filter加闭包函数过滤数组?

qq_花开花谢_0 2019-02-07 11:07:59
$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,等同于传参数


查看完整回答
反对 回复 2019-03-16
  • 2 回答
  • 0 关注
  • 1062 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号