我原本的意思是如下代码
$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']);
return serialize($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);
}, );