有这样一种情况,在得到一个数组后,只需要数组中的几个字段,可是又觉得定义一个数组的写法很不美观,且很麻烦,例如:
某个数组是这样的
$in=array(
'ringname'=>'dog',
'ringlogo'=>'./psg.png',
'slim' =>'2',
'ulim' =>'1',
'uaudit' =>'0',
'sid' =>'15006'
);
我们只需要其中的3个字段的时候,可能会这样写
$set=array(
'ringname'=>$in['ringname'],
'ringlogo'=>$in['ringlogo'],
'sid' =>$in['sid'],
);
但是这样如果需要的字段比较多的时候会很烦躁,于是莫离用了如下方法:
$a=array_flip(array('ringname','ringlogo','sid'));
$int=array_intersect_key($in, $a);
先定义所需要的字段,然后用取得交集的方式得到结果,当然,如果已知原数组的字段且交集个数大于舍弃的字段,也可以使用差集的方式。