将多维数组的列值转换为平面数组

时间:2016-06-08 00:03:17

标签: php arrays

初始数组如下所示:

$arInitial = Array(
  0 => Array(1,2,3), 
  1 => Array(3,4),
  2 => Array(5,6,7,8),
  3 => Array(9)
);

结果数组应为:

Array(1,3,5,9,2,4,6,3,7,8);

我在思考while(1)循环,但没有。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

有很多方法可以实现这一点,已经有一个阵列咒语功能的集合来做到这一点,我只是找不到复制问题,但另一种方法是每批array_shift:< / p>

$result = array();
$max = count($arInitial);
for($i = 0; $i < $max; $i++) {
    foreach($arInitial as &$a) {
        if(!empty($a)) {
            $e = array_shift($a);
            $result[] = $e;
        }
    }
}

答案 1 :(得分:1)

你应该尝试两个功能:

可能你想要像

这样的东西
$finalArray = array();
foreach($arInitial as $array){
    $finalArray = array_merge($finalArray, $array);
}

var $finalArray = array_unique($finalArray , SORT_NUMERIC);

这样你应该得到你想要的结果。