当前位置: 代码迷 >> PHP >> 怎么将一个多维数组转换成一维
  详细解决方案

怎么将一个多维数组转换成一维

热度:32   发布时间:2016-04-28 18:38:29.0
如何将一个多维数组转换成一维

多维数组打印来出效果:
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] => 全险
)
  相关解决方案