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的FTP学习(四)
Oct 09 PHP
PHP 获取客户端真实IP地址多种方法小结
May 15 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
sphinx增量索引的一个问题
Jun 14 PHP
PHP函数实现从一个文本字符串中提取关键字的方法
Jul 01 PHP
php调用自己java程序的方法详解
May 13 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
Feb 10 PHP
php封装的验证码类分享
Feb 26 PHP
php取出数组单个值的方法
Mar 12 PHP
实例讲解PHP表单验证功能
Feb 15 PHP
laravel-admin select框默认选中的方法
Oct 03 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 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中json_encode()和json_decode()
2014/05/25 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
ecshop添加菜单及权限分配问题
2017/11/21 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
2020/01/23 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
jquery蒙版控件实现代码
2010/12/08 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
2013/04/09 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
jQuery调用ajax请求的常见方法汇总
2015/03/24 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(上)
2017/04/21 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
django使用html模板减少代码代码解析
2017/12/12 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
Keras Convolution1D与Convolution2D区别说明
2020/05/22 Python
超市促销实习自我鉴定
2013/09/23 职场文书
丑小鸭教学反思
2014/02/03 职场文书
商铺门前三包责任书
2014/07/25 职场文书
万能检讨书
2015/01/27 职场文书
防汛通知
2015/04/25 职场文书
员工辞职信范文大全
2015/05/12 职场文书
工程款申请报告
2015/05/15 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
Python selenium绕过webdriver监测执行javascript
2022/04/12 Python