PHP数组推送到数组但保留现有序列

时间:2016-09-04 15:10:21

标签: php arrays

我有这个2阵列:

$array1 = [3,6,5];
$array2 = [1,2,3,4,5,6];

我想实现这个目标:

$newArray = [3,6,5,1,2,4];

所以它保留序列并在$array1附加缺失值。

    foreach($array1 as $data){
        if(!in_array($data, $array2)){
            array_push($array2, $data);
        }
    }

我尝试上面的代码,但我得到的是我的数组变成了双倍。

任何解决方案?

3 个答案:

答案 0 :(得分:3)

像这样,

library(dplyr)
bind_rows(a,b,c) %>%
         group_by(YMD) %>%
         summarise(Amount = sum(Amount))

这个array_merge()函数用于将一个或多个数组合并到一个数组中,array_unique()函数从数组中删除重复值。

答案 1 :(得分:0)

试试这个:

abc <- rbind(a, b, c)
aggregate(abc$Amount, by = list(abc$YMD), FUN = "sum")
# Group.1   x
# 1 2012-02-01 110
# 2 2013-04-10   1
# 3 2013-11-08  22
# 4 2014-03-04 200
# 5 2015-05-08 300
# 6 2016-09-01  33
希望它有所帮助..

答案 2 :(得分:0)

要继续使用现有方法,您需要更改逻辑:

foreach($array2 as $data){
    if(!in_array($data, $array1)){
        array_push($array1, $data);
        //or
        //$array1[] = $data;
    }
}