初始数组如下所示:
$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)循环,但没有。有什么想法吗?
答案 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);
这样你应该得到你想要的结果。