我原本的意思是如下代码$eData=array('section'=>$v['section'],'page'=>$v['page'],//'status'=>$v['status'],'type'=>$v['type'],);unset($v['page']);//unset($v['status']);unset($v['id']);unset($v['type']);unset($v['section']);$eData['data']=serialize($v);使用闭包的方式$eData=array('section'=>$v['section'],'page'=>$v['page'],//'status'=>$v['status'],'type'=>$v['type'],'data'=>function(){unset($v['page']);//unset($v['status']);unset($v['id']);unset($v['type']);unset($v['section']);returnserialize($v);});问题1、php的闭包类closure并不支持返回参数问题2、使用了use方法后仍然不能够对$v进行格式化操作,只能够删除其中的元素use方法$eData=array('section'=>$v['section'],'page'=>$v['page'],//'status'=>$v['status'],'type'=>$v['type'],'data'=>function()use($v){unset($v['page']);//unset($v['status']);unset($v['id']);unset($v['type']);unset($v['section']);return$v=serialize($v);},);
2 回答

鸿蒙传说
TA贡献1865条经验 获得超7个赞
是要这个效果吗?$eData=array('section'=>$v['section'],'page'=>$v['page'],'type'=>$v['type'],'data'=>call_user_func(function()use(&$v){unset($v['page']);unset($v['id']);unset($v['type']);unset($v['section']);returnserialize($v);}),);
添加回答
举报
0/150
提交
取消