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 相关文章推荐
PHP4 与 MySQL 数据库操作函数详解
Oct 09 PHP
快速开发一个PHP扩展图文教程
Dec 12 PHP
php下封装较好的数字分页方法
Nov 23 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
Feb 19 PHP
探讨PHP调用时间格式的参数详解
Jun 06 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 PHP
PHP用身份证号获取星座和生肖的方法
Nov 07 PHP
php实现与erlang的二进制通讯实例解析
Jul 23 PHP
CI框架常用方法小结
May 17 PHP
php关闭warning问题的解决方法
May 17 PHP
PHP表单验证内容是否为空的实现代码
Nov 14 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 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或asp创建网页桌面快捷方式的代码
2010/03/23 PHP
php下安装配置fckeditor编辑器的方法
2011/03/02 PHP
PHP中time(),date(),mktime()区别介绍
2013/09/28 PHP
php 不使用js实现页面跳转
2014/02/11 PHP
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
js性能优化 如何更快速加载你的JavaScript页面
2012/03/17 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
jQuery实现Email邮箱地址自动补全功能代码
2015/11/03 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
Vuejs实现购物车功能
2017/11/05 Javascript
vue中动态添加class类名的方法
2018/09/05 Javascript
解决vue-cli webpack打包后加载资源的路径问题
2018/09/25 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
原生js实现放大镜组件
2021/01/22 Javascript
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
python简单实现计算过期时间的方法
2015/06/09 Python
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
Python数据可视化之画图
2019/01/15 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
完美解决Django2.0中models下的ForeignKey()问题
2020/05/19 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
说出你对remoting 和webservice的理解和应用
2014/06/08 面试题
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
电工实训报告总结
2014/11/05 职场文书
年终工作总结范文2014
2014/11/27 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
党课主持词大全
2015/06/30 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书
python - timeit 时间模块
2021/04/06 Python
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL
nginx配置虚拟主机的详细步骤
2021/07/21 Servers