php实现快速对二维数组某一列进行组装的方法小结


Posted in PHP onDecember 04, 2019

本文实例总结了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 相关文章推荐
PHP中基本符号及使用方法
Mar 23 PHP
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
yii添删改查实例
Nov 16 PHP
Yii2.0高级框架数据库增删改查的一些操作
Nov 16 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
Dec 17 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
php中让人头疼的浮点数运算分析
Oct 10 PHP
PHP实现简单的模板引擎功能示例
Sep 02 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
Aug 06 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
Apr 15 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
Dec 13 PHP
Laravel + Elasticsearch 实现中文搜索的方法
Feb 02 PHP
PHP实现发送微博消息功能完整示例
Dec 04 #PHP
PHP连续签到功能实现方法详解
Dec 04 #PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 #PHP
Laravel框架Eloquent ORM删除数据操作示例
Dec 03 #PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
Dec 03 #PHP
Laravel框架Blade模板简介及模板继承用法分析
Dec 03 #PHP
在phpstudy集成环境下的nginx服务器下配置url重写
Dec 02 #PHP
You might like
php 删除一个数组中的某个值.兼容多维数组!
2012/02/18 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
2019/07/03 PHP
laravel框架上传图片实现实时预览功能
2019/10/14 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
python如何发布自已pip项目的方法步骤
2018/10/09 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
光盘行动倡议书
2014/02/02 职场文书
2014植树节活动总结
2014/03/11 职场文书
六个一活动实施方案
2014/03/21 职场文书
初中教师个人总结
2015/02/10 职场文书
老公保证书怎么写
2015/02/26 职场文书
美术教师求职信范文
2015/03/20 职场文书
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android
Java 关于String字符串原理上的问题
2022/04/07 Java/Android