欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

如何将一个多维数组转换成一维

程序员文章站 2022-05-21 08:35:01
...
多维数组打印来出效果:
Array ( [10] => 准备买 [11] => 不准备换 [12] => Array ( [0] => 3厢小轿车 [1] => 城市SUB ) [13] => 33333 [14] => Array ( [0] => 中型 [1] => 小巧型 ) [15] => 全险 )
想转换成一维的,保持原来KEY不变,遇到多维就合并,最终想得到
Array ( [10] => 准备买 [11] => 不准备换 [12] => 3厢小轿车, 城市SUB [13] => 33333 [14] => 中型 ,小巧型 [15] => 全险 )

搞了半天,有点迷糊了。请高手看看


回复讨论(解决方案)

$a = Array (  10 => '准备买',  11 => '不准备换',  12 => Array ( 0 => '3厢小轿车', 1 => '城市SUB' ),  13 => 33333,  14 => Array ( 0 => '中型', 1 => '小巧型' ),  15 => '全险',);foreach($a as $k=>$v) {  if(is_array($v)) $a[$k] = join(',', $v);}print_r($a);
Array(    [10] => 准备买    [11] => 不准备换    [12] => 3厢小轿车,城市SUB    [13] => 33333    [14] => 中型,小巧型    [15] => 全险)

楼上是正解。

$a = array (  10 => '准备买',  11 => '不准备换',  12 => Array ( 0 => '3厢小轿车', 1 => '城市SUB' ),  13 => 33333,  14 => Array ( 0 => '中型', 1 => '小巧型' ),  15 => '全险',);$b=array();foreach($a as $k=>$v){    $b[$k]=$v;    if(is_array($v)){        $b[$k]=$v[0].','.$v[1];    }}print_r($b);


Array(    [10] => 准备买    [11] => 不准备换    [12] => 3厢小轿车,城市SUB    [13] => 33333    [14] => 中型,小巧型    [15] => 全险)