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 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
用php+mysql一个名片库程序
Oct 09 PHP
PHP 常见郁闷问题答解
Nov 25 PHP
How do I change MySQL timezone?
Mar 26 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
PHP文件操作实现代码分享
Sep 01 PHP
配置php网页显示各种语法错误
Sep 23 PHP
PHP中判断变量为空的几种方法小结
Nov 12 PHP
php数组合并的二种方法
Mar 21 PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 PHP
CodeIgniter中实现泛域名解析
Jul 19 PHP
Yii控制器中操作视图js的方法
Jul 04 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
无限级别菜单的实现
2006/10/09 PHP
php下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
PHP函数http_build_query使用详解
2014/08/20 PHP
PHP echo()函数讲解
2019/02/15 PHP
用cookies实现的可记忆的样式切换效果代码下载
2007/12/24 Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
2010/07/20 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
jQuery focus和blur事件的应用详解
2014/01/26 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
2014/06/24 Javascript
JavaScript基础语法、dom操作树及document对象
2014/12/02 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
JS自定义对象实现Java中Map对象功能的方法
2015/01/20 Javascript
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
Javascript中的getter和setter初识
2017/08/17 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
2017/06/07 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
Python面向对象魔法方法和单例模块代码实例
2020/03/25 Python
python 连续不等式语法糖实例
2020/04/15 Python
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
荷兰度假屋租赁网站:Aan Zee
2020/02/28 全球购物
工业自动化专业毕业生推荐信
2013/11/18 职场文书
公司出纳岗位职责
2013/12/07 职场文书
道路施工安全责任书
2014/07/24 职场文书
护理专业自荐信范文
2015/03/06 职场文书
Nginx实现会话保持的两种方式
2022/03/18 Servers