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中还未有相应的函数,也只好自己定义了。
还不错哟,点赞支持站长!