加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP二维数组中对特定列组装的方法是啥

发布时间:2022-07-03 06:17:08 所属栏目:PHP教程 来源:互联网
导读:今天就跟大家聊聊有关PHP二维数组中对特定列组装的方法是什么的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇PHP二维数组中对特定列组装的方法是什么文章能对大家有帮助。 本文实例总结了php实现快速
  今天就跟大家聊聊有关“PHP二维数组中对特定列组装的方法是什么”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“PHP二维数组中对特定列组装的方法是什么”文章能对大家有帮助。
 
    本文实例总结了php实现快速对二维数组某一列进行组装的方法。分享给大家供大家参考,具体如下:
 
  问题:
 
  比如我二维数组是这样的:
 
  $user = array(
   '0'=> array('id'=>100,'username'=>'a1'),
   '1'=> array('id'=>101,'username'=>'a2'),
   '2'=> array('id'=>102,'username'=>'a3'),
   '3'=> array('id'=>103,'username'=>'a4'),
   '4'=> array('id'=>104,'username'=>'a5'),
  )
 
  如何快速的获取所有id组成的ids字符串,比如$ids='100,101,102,103,104'; 再者如果我有条件的组装,比如id!=103等这样的,除了循环处理外有没有比较方便快速的方法?
 
  解决方法:
 
  $user = array(
   '0'=> array('id'=>100,'username'=>'a1'),
   '1'=> array('id'=>101,'username'=>'a2'),
   '2'=> array('id'=>102,'username'=>'a3'),
   '3'=> array('id'=>103,'username'=>'a4'),
   '4'=> array('id'=>104,'username'=>'a5'),
  );
  /**
  * @param array $array 数组
  * @param string $k 要获取值的key
  * @param array $rm 要去除的数据
  * */
  function array_get_v($array, $k, $rm)
  {
   if (!trim($k)) return false;
   preg_match_all("/"$k":(d+)/", json_encode($array), $res);
   $res = array_diff($res[1],$rm);
   return implode(',',$res);
  }
  print_r(array_get_v($user, 'id',array(101)));
 
  运行结果:
 
  100,102,103,104
 
  补充方法:
 
  例1:
 
  $user = array(
  '0' => array('id' => 100, 'username' => 'a1'),
  '1' => array('id' => 101, 'username' => 'a2'),
  '2' => array('id' => 102, 'username' => 'a3'),
  '3' => array('id' => 103, 'username' => 'a4'),
  '4' => array('id' => 104, 'username' => 'a5'),
  );
  array_walk($user, function($v, $k) use(&$ids){
   $ids[$k] = $v['id'];
  });
  echo implode(',', $ids);
 
  运行结果:
 
  100,101,102,103,104
 
  例2:
 
  <?php
  function process($v){
   //如果要加限制条件,在这里加入即可
   if(isset($v['id']))
    return $v['id'];
  }
  $user = array(
   '0' => array('id' => 100, 'username' => 'a1'),
   '1' => array('id' => 101, 'username' => 'a2'),
   '2' => array('id' => 102, 'username' => 'a3'),
   '3' => array('id' => 103, 'username' => 'a4'),
   '4' => array('id' => 104, 'username' => 'a5'),
  );
  $aUser = array_map("process", $user);
  echo implode(',', $aUser);
 
  运行结果:
 
  100,101,102,103,104
 
  以上就是关于“PHP二维数组中对特定列组装的方法是什么”的相关知识,感谢各位的阅读

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读