• 全都有综合资源网

    分享赚钱

    一个专业的免费资源网

    每天更新100+优质资源

  • 手机版二维码

    随时手机查素材

  • 扫描二维码

    加入官方微信群

总结PHP二维数组(或任意维数组)转换成一维数组方法

技术文章 每日更新
2024-6-7 10:50 81人浏览 0人回复
原作者: 全都有综合资源网 来自: 全都有综合资源网 收藏 分享 邀请
摘要

在 PHP 开发过程中,数组的使用场景很多,比如 PHP 二维数组(或任意数组)转换为一维数组,今天的文章总结了将PHP二维数组(或任意数组)转换为一维数组的 PHP 方法。假设有下面一个二维数组:code$user=array('0'=arra ...

  在 PHP 开辟进程中,数组的利用处景很多,比如 PHP 二维数组(或肆意数组)转换为一维数组,
明天的文章总结了将PHP二维数组(或肆意数组)转换为一维数组的 PHP 方式。

总结PHP二维数组(或肆意维数组)转换成一维数组方式803 作者:全都有综合资本网 来历:全都有综合资本网 公布时候:2024-6-7 10:50

假定有下面一个二维数组:

layui-box layui-code-view" style="margin-top: 0px; margin-bottom: 5px; padding: 15px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); white-space: pre-wrap; overflow-wrap: break-word; box-sizing: inherit; position: relative; font-size: 15px; border: 1px solid rgb(209, 209, 209); background-color: rgb(255, 255, 255); color: rgb(68, 68, 68); font-family: inherit; outline: 0px; vertical-align: baseline; line-height: 28.5px; max-width: 100%; overflow: auto; word-break: break-all;">

code

  1. $user = array(
  2.     '0' => array('id' => 100, 'username' => 'a1'),
  3.     '1' => array('id' => 101, 'username' => 'a2'),
  4.     '2' => array('id' => 102, 'username' => 'a3'),
  5.     '3' => array('id' => 103, 'username' => 'a4'),
  6.     '4' => array('id' => 104, 'username' => 'a5'),
  7. );

现在要转换成一维数组,有两种情况:

一种是将指定的列转换成一维数组,另一篇文章总结了:PHP提取二维数组的一列的值并转换成一维数组的几种方式。

现在需要我们国家重点讲第二种成长情况,就是把一切的值都转换成一维数组,而且经过键值停止不异题目不会被覆盖,转换后的一维数组是这样的:


code

  1. $result = array(100, 'a1', 101, 'a2', 102, 'a3', 103, 'a4', 104, 'a5');

实现方式总结以下:

1、array_reduce函数法

用array_reduce()函数是较为快速的方式:

code

  1. $result = array_reduce($user, function ($result, $value) {
  2.  return array_merge($result, array_values($value));
  3. }, array())

注:function(){}结构是php匿名函数写法,详情见:PHP闭包(Closure)function() use(){}的利用方式。

由于array_merge函数会把不异字符串键名的数组覆盖合并,所以必须先用array_value取出值后再合并。

假如第二维是数字键名,如:

code

  1. $user = array(
  2.  'a' => array(100, 'a1'),
  3.  'b' => array(101, 'a2'),
  4.  'c' => array(102, 'a3'),
  5.  'd' => array(103, 'a4'),
  6.  'e' => array(104, 'a5'),
  7. );

那末间接这样便可以了:

code

  1. $result = array_reduce($user, 'array_merge', array())

 

2、array_walk_recursive函数法

用array_walk_recursive()函数就很是灵活,可以把肆意维度的数组转换成一维数组。

code

  1. $result = [];
  2. array_walk_recursive($user, function($value) use (&$result) {
  3.     array_push($result, $value);
  4. });

例如,下面这个多维数组:

code

  1. $user4 = array(
  2.     'a' => array(100, 'a1'),
  3.     'b' => array(101, 'a2'),
  4.     'c' => array(
  5.         'd' => array(102, 'a3'),
  6.         'e' => array(103, 'a4'),
  7.     ),
  8. );

用这个方式后就酿成:

code

  1. $result = array(100, 'a1', 101, 'a2', 102, 'a3', 103, 'a4');

 

3、array_map函数法

用array_map和array_reduce函数的方式类似,以下:

code

  1. $result = [];
  2. array_map(function ($value) use (&$result) {
  3.     $result = array_merge($result, array_values($value));
  4. }, $user);

只是需要多声明一个空的$result数组。

别的,也可以用array_walk的方式,和foreach循环的方式,道理和上面一样。




©版权免责声明
1、本站所有资源均来自用户上传及互联网。 如有侵权,请联系站长!
2、分享目的仅供大家学习交流。 下载后必须在24小时内删除!
3、不得用于非法商业目的或违反国家法律。 否则,后果自负!
4、本站提供的源代码、模板、插件等资源不包含技术服务。 敬请谅解!
5.如果出现无法下载、无效或有广告的链接,请联系管理员寻求帮助!
6、本站资源价格仅用于赞助,所收取的费用仅用于维持本站日常运营!
7、如果遇到加密压缩包,请使用WINRAR解压。 如果遇到无法解压的加密压缩包,请联系管理员!
8、由于精力有限,很多源代码无法详细测试(解密),部分源代码无法区分为病毒或误报,所以没有进行修改。 请在使用前进行筛选。

路过

雷人

握手

鲜花

鸡蛋
热门教程
专业的免费源码资源分享平台
每天更新100+资源

招募版主发工资

  • 官方在线客服

    QQ客服:红颜

    点击交谈

    在线客服:良子

    点击交谈

    在线客服:闵月

    点击交谈
  • 上海市虹口区海伦中心B座4F4055-4056室

  • 手机扫码查看手机版

    手机查找资源更方便

  • 扫一扫关注官方微信公众号

    加入官方微信

一个专业的免费源码资源互联网分享平台 ©2001-2024 https://www.douyouvip.com全都有综合资源网( 豫ICP备2024057239号-1 )赞助会员|网站地图 HTML
全都有综合资源网,WordPress主题PHP源码,PHP网站源码,网站模板,软件源码,网站源码免费下载,免费网站源码,网站源码模板,免费网站源码下载,wp免费源码,wp免费主题下载,PHP企业网站源码,软件源码下载