A-A+
	php多维数组怎么转换成一维数组
php数组在php项目中用得频率算是比较高的了,但凡稍微有点复杂的应用,都能见到数组的身影,目前项目中遇到的一个问题,是有多个队列文件,转换成了多维数组,但是我需要post到接受页面的是一维数组,这样更好处理一些,
操作php数组应用最多的就是 foreach 循环函数了,通过各种的循环最后组合成一维数组,因为多维数组都是不确定的,有可能第一个是三维或四维,第二个是二维,这样的话仅使用 foreach 是很难组合的,所以我们就可以使用递规,简单而暴力的方法,自己整合一个函数出来。
- $multi = array(
 - array(
 - array(
 - 'wo',
 - 'shi'
 - ),
 - 'php'
 - ),
 - 'cheng',
 - array(
 - array(
 - 'xu',
 - 'yuan',
 - )
 - ),
 - '!'
 - );
 - $multi = arrToOne($multi);
 - print_r($multi);
 - function arrToOne($multi) {
 - $arr = array();
 - foreach ($multi as $key => $val) {
 - if( is_array($val) ) {
 - $arr = array_merge($arr, arrToOne($val));
 - } else { //www.xiariboke.net
 - $arr[] = $val;
 - }
 - }
 - return $arr;
 - }
 
我们来看一下运行之后的结果,如下:
- //执行后的效果:
 - Array
 - (
 - [0] => wo
 - [1] => shi
 - [2] => php
 - [3] => cheng
 - [4] => xu
 - [5] => yuan
 - [6] => !
 - )
 
我们可以看到,自己定义了一个递归类的函数,然后又整合了 foreach,而整合的这个多维数组,每个单独的 array 结构是不一样的,像这种多个结构不同的函数组合成一维数组,目前在php中还未有相应的函数,也只好自己定义了。
还不错哟,点赞支持站长!