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文件下载类
Dec 06 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
解析thinkphp的左右值无限分类
Jun 20 PHP
PHP获取网页标题的3种实现方法代码实例
Apr 11 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
PHP实现的简单mock json脚本分享
Feb 10 PHP
php验证码实现代码(3种)
Sep 07 PHP
学习php设计模式 php实现合成模式(composite)
Dec 08 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
Mar 08 PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 PHP
PHP echo()函数讲解
Feb 15 PHP
Yii框架自定义数据库操作组件示例
Nov 11 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
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
详解Vue如何支持JSX语法
2017/11/10 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
python和ruby,我选谁?
2017/09/13 Python
Python代码实现KNN算法
2017/12/20 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
使用python 3实现发送邮件功能
2018/06/15 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
linux 下selenium chrome使用详解
2020/04/02 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
python collections模块的使用
2020/10/16 Python
花店创业计划书范文
2014/02/07 职场文书
甜品店创业计划书
2014/08/14 职场文书
自我评价优缺点范文
2015/03/11 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
Python天气语音播报小助手
2021/09/25 Python
python代码实现扫码关注公众号登录的实战
2021/11/01 Python