码迷,mamicode.com
首页 > 编程语言 > 详细

PHP二维数组提取函数----把不需要的数据剔除

时间:2016-03-20 02:01:49      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

  最近做APP接口的时候发现,在服务器返回给APP的接口数据很多都是二维数组的形式,但是这就带来了一些问题,有一些数据是没有用的,这些没有用的数据会给APP方面造成麻烦,于是搜索解决办法发现网上和手册都没有能解决这个问题的函数,于是自己写了一个函数delMemberGetNewArray,可以把二维数组多余的数据给剔除掉,对于以后我们处理数据方面提供了便利,看代码

 1 /*
 2 * delMemberGetNewArray 得到一个新二维数组
 3 * @ $data 原始数组
 4 * @ $del_data var array 传入的改变因子
 5 * @ $flag bool 为false就是原始数组删除包含因子的成员,true就是提取包含因子的成员
 6 */
 7 function delMemberGetNewArray($data,$del_data=null,$flag=false)
 8 {  
 9     if(is_null($del_data)) return false;
10     $count = sizeof($del_data);
11     $new_data = array();
12     $org_count = sizeof($data[0]);
13     if($org_count == $count) return false;        
14     foreach($data as $key => $value)
15     {
16     #提取制定成员操作
17     if($flag == ‘true‘){
18         if(!is_array($del_data)){
19         #提取单个成员操作
20             foreach($value as $k=>$v){
21                 if($k == $del_data){
22                 continue;
23             }else{
24                 unset($value[$k]);
25             }
26             }    
27         }else{
28         foreach($value as $k=>$v){
29             foreach($del_data as $del_key=>$del_value){
30             if($k == $del_value){
31                 continue;      
32             }else{
33                 if(!in_array($k,$del_data))
34                 {
35                     unset($value[$k]);
36                 }
37             }
38             }
39         }                
40         }
41         $new_data[$key]= $value;    
42     }else{
43     //传入数组删除操作
44     if(is_array($del_data))
45     {
46         foreach($del_data as $del_value)
47         {
48                 unset($value[$del_value]); 
49         }
50     //传入单个变量删除操作
51     }else{
52         unset($value[$del_data]);
53     }    
54     $new_data[$key]= $value;
55     }
56     }
57     return $new_data;
58 }
其中,$del_data可以是变量也可以是数组,可以灵活使用$flag这个参数,比如二维数组的数据很多,你只想提取你想要的数据,这时你就可以把你想提取的数据(二维数组成员键名)写为一个一位数组,例如$del_data=(‘name‘,‘age‘),传入函数并设置为ture,就会生成一个只包含传入数组的新二维数组,如果二维数组的数据你只有一个不想要,就可以传入一个想删除的成员(二维数组成员键名),并设置为false就可以了。

 

PHP二维数组提取函数----把不需要的数据剔除

标签:

原文地址:http://www.cnblogs.com/ximotao/p/5296967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!