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&amp;&amp;mysql)一
Oct 09 PHP
PHP+MySQL 制作简单的留言本
Nov 02 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
php检测iis环境是否支持htaccess的方法
Feb 18 PHP
PHP解析html类库simple_html_dom的转码bug
May 22 PHP
php5.2以下版本无json_decode函数的解决方法
May 25 PHP
初识Laravel
Oct 30 PHP
分享一则PHP定义函数代码
Feb 26 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
PHP yii实现model添加默认值的方法(两种方法)
Nov 10 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
Jun 19 PHP
PHP执行普通shell命令流程解析
Aug 24 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/10/22 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
PHP跨时区(UTC时间)应用解决方案
2013/01/11 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
2020/04/20 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
插件:检测javascript的内存泄漏
2007/03/04 Javascript
jquery UI 1.72 之datepicker
2009/12/29 Javascript
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
javascript 中__proto__和prototype详解
2014/11/25 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
JS之if语句对接事件动作逻辑(详解)
2017/06/28 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
Anconda环境下Vscode安装Python的方法详解
2020/03/29 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
python支持多继承吗
2020/06/19 Python
Python发送邮件实现基础解析
2020/08/14 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
迟到检讨书5000字
2014/01/31 职场文书
金榜题名主持词
2015/07/02 职场文书
idea下配置tomcat避坑详解
2022/04/12 Servers