我原本的意思是如下代碼$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);},);
求指導:php閉包實現數組的格式化
千萬里不及你
2019-03-30 09:33:14