数组处理

$formId = array (24, 19 );
  // 解析列表规则
  for($i = 0; $i < count ( $formId ); $i ++) {
   $fields [] = 'openid';
   $fields [] = 'cTime';
   $fields [] = 'forms_id';
   
   $girds ['field'] [0] = 'openid';
   $girds ['title'] = 'OpenId';
   $list_data ['list_grids'] [] = $girds;
   
   $girds ['field'] [0] = 'cTime|time_format';
   $girds ['title'] = '增加时间';
   $list_data ['list_grids'] [] = $girds;
   
   //$map ['forms_id'] = $this->forms_id;
   $map = array ("token" => "gh_c080d5549683", "forms_id" => "$formId[$i]" );
   //dump($map);
   $attribute = M ( 'forms_attribute' )->where ( $map )->order ( 'sort asc, id asc' )->select ();
   foreach ( $attribute as $vo ) {
    $girds ['field'] [0] = $fields [] = $vo ['name'];
    $girds ['title'] = $vo ['title'];
    $list_data ['list_grids'] [] = $girds;
    
    $attr [$vo ['name']] ['type'] = $vo ['type'];
    
    if ($vo ['type'] == 'radio' || $vo ['type'] == 'checkbox' || $vo ['type'] == 'select') {
     $extra = parse_config_attr ( $vo ['extra'] );
     if (is_array ( $extra ) && ! empty ( $extra )) {
      $attr [$vo ['name']] ['extra'] = $extra;
     }
    } elseif ($vo ['type'] == 'cascade') {
     $attr [$vo ['name']] ['extra'] = $vo ['extra'];
    }
   }
   
   $fields [] = 'id';
   $girds ['field'] [0] = 'id';
   $girds ['title'] = '操作';
   $girds ['href'] = '[EDIT]&forms_id=[forms_id]|编辑,[DELETE]&forms_id=[forms_id]| 删除';
   $list_data ['list_grids'] [] = $girds;
   $list_data ['fields'] = $fields;
   
   //dump($girds);
   //dump($fields);
   //exit();
   $param ['forms_id'] = $this->forms_id;
   $param ['model'] = $this->model ['id'];
   $add_url = U ( 'add', $param );
   $this->assign ( 'add_url', $add_url );
   
   // 搜索条件
   //$map = $this->_search_map ( $this->model, $fields );
   
   $page = I ( 'p', 1, 'intval' );
   $row = 20;
   
   $name = parse_name ( get_table_name ( $this->model ['id'] ), true );
   
   $list = M ( $name )->where ( $map )->order ( 'id DESC' )->selectPage ();
   //dump($list);
   //exit();
   $list_data = array_merge ( $list_data, $list );
   
   foreach ( $list_data ['list_data'] as &$vo ) {
    $value = unserialize ( $vo ['value'] );
    foreach ( $value as $n => &$d ) {
     $type = $attr [$n] ['type'];
     $extra = $attr [$n] ['extra'];
     if ($type == 'radio' || $type == 'select') {
      if (isset ( $extra [$d] )) {
       $d = $extra [$d];
      }
     } elseif ($type == 'checkbox') {
      foreach ( $d as &$v ) {
       if (isset ( $extra [$v] )) {
        $v = $extra [$v];
       }
      }
      $d = implode ( ', ', $d );
     } elseif ($type == 'datetime') {
      $d = time_format ( $d );
     } elseif ($type == 'picture') {
      $d = get_cover_url ( $d );
     } elseif ($type == 'cascade') {
      $d = getCascadeTitle ( $d, $extra );
     }
    }
    unset ( $vo ['value'] );
    $vo = array_merge ( $vo, $value );
   }
   //dump($list_data);
   //exit();
   $data_list_change [$i] = $list_data;
   unset($list_data);
   unset($girds,$fields,$list);
  }
  $list_data=array_merge($data_list_change[0],$data_list_change[1]);
  //dump($list_data);
  
  
  
  
  $list_data['list_grids']=$data_list_change[0]['list_grids']+$data_list_change[1]['list_grids'];
  $list_data['fields']=$data_list_change[0]['fields']+$data_list_change[1]['fields'];
  $list_data['list_data']=$data_list_change[0]['list_data']+$data_list_change[1]['list_data'];
  
  //dump($data_list_change['0']['list_data']);
  $i=0;
  $inList = array();
  foreach ($data_list_change['0']['list_data'] as &$value){
   foreach ($value as $k=>$v){
    if ($k=='openid'){
     foreach ($data_list_change['1']['list_data'] as $vSearch){
      if (in_array($v, $vSearch)){
       array_push($inList,$v);
       $arrayList[$i]=array_merge($value,$vSearch);
       $i++;
      }
     }
    }
   }
  }
  
  
  
  //填充组合数据到数组中
  $list_data['list_data']=null;
  for ($j=0;$j<$i;$j++){
   $list_data['list_data'][]=$arrayList[$j];   
  }
  //抓取必填单子数据到数组中
  //dump($data_list_change['0']['list_data']);
  //dump($inList);
  foreach($data_list_change['0']['list_data'] as $value){
   foreach ($value as $k=>$v){
    if ($k=='openid'){
     if (!in_array($v, $inList)){
      $list_data['list_data'][]=$value;
     } 
    }
   }
  }

转载于:https://my.oschina.net/shihuipengx/blog/395716

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值