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 04 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
smarty模板引擎从配置文件中获取数据的方法
Jan 22 PHP
php转换颜色为其反色的方法
Apr 27 PHP
PHP翻页跳转功能实现方法
Nov 30 PHP
thinkPHP批量删除的实现方法分析
Nov 09 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
PHP手机短信验证码实现流程详解
May 17 PHP
php函数式编程简单示例
Aug 08 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 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下防止单引号,双引号在接受页面转义的设置方法
2008/09/25 PHP
PHP中几个常用的魔术常量
2012/02/23 PHP
javascript中的有名函数和无名函数
2007/10/17 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
jQuery自定义组件(导入组件)
2016/11/08 Javascript
JavaScript实现图片懒加载的方法分析
2018/07/05 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
微信小程序间使用navigator跳转传值问题实例分析
2020/03/27 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
python实现读取命令行参数的方法
2015/05/22 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
Python图像滤波处理操作示例【基于ImageFilter类】
2019/01/03 Python
Python性能分析工具Profile使用实例
2019/11/19 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
公司人事专员岗位职责
2014/08/11 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
2014年学校团委工作总结
2014/12/20 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python