A-A+

php多维数组怎么转换成一维数组

2018年01月27日 PHP技术文章 评论 1 条 阅读 0 views 次

php数组在php项目中用得频率算是比较高的了,但凡稍微有点复杂的应用,都能见到数组的身影,目前项目中遇到的一个问题,是有多个队列文件,转换成了多维数组,但是我需要post到接受页面的是一维数组,这样更好处理一些,

操作php数组应用最多的就是 foreach 循环函数了,通过各种的循环最后组合成一维数组,因为多维数组都是不确定的,有可能第一个是三维或四维,第二个是二维,这样的话仅使用 foreach 是很难组合的,所以我们就可以使用递规,简单而暴力的方法,自己整合一个函数出来。

  1. $multi = array(   
  2.  array(   
  3.   array(   
  4.    'wo',   
  5.    'shi'   
  6.   ),   
  7.   'php'   
  8.  ),   
  9.  'cheng',   
  10.  array(   
  11.   array(   
  12.    'xu',   
  13.    'yuan',   
  14.   )   
  15.  ),   
  16.  '!'   
  17. );   
  18. $multi = arrToOne($multi);   
  19. print_r($multi);   
  20. function arrToOne($multi) {   
  21.  $arr = array();   
  22.  foreach ($multi as $key => $val) {   
  23.   ifis_array($val) ) {   
  24.    $arr = array_merge($arr, arrToOne($val));   
  25.   } else { //www.xiariboke.net   
  26.    $arr[] = $val;   
  27.   }   
  28.  }   
  29.  return $arr;   
  30. }   

我们来看一下运行之后的结果,如下:

  1. //执行后的效果:   
  2. Array   
  3. (   
  4.     [0] => wo   
  5.     [1] => shi   
  6.     [2] => php   
  7.     [3] => cheng   
  8.     [4] => xu   
  9.     [5] => yuan   
  10.     [6] => !   
  11. )   

我们可以看到,自己定义了一个递归类的函数,然后又整合了 foreach,而整合的这个多维数组,每个单独的 array 结构是不一样的,像这种多个结构不同的函数组合成一维数组,目前在php中还未有相应的函数,也只好自己定义了。

1 条留言  访客:1 条  博主:0 条

  1. 天行应用

    还不错哟,点赞支持站长!

给我留言