在PHP中加入2个数组

时间:2011-12-18 22:08:40

标签: php arrays

我正在处理一个只允许我按月访问数据的API。有时,数据跨度超过2个月,但没有简单的测试来检查。

我已经遍历结果数据以找到我需要的数据。我想我可以在两个月内两次调用API,并在另一个上追加1个月。

我试图弄清楚如何将2个阵列连接在一起。下面是一个例子,我有:

firstMonth = array(0 => object0, 1 => object1, 2 => object2)
secondMonth = array(0 => object3, 1 => object4, 2 => object5)

我需要加入它们,所以我有一个数组,比如:

bothMonths = array(0 => object 0, 1 => object1, 2 => object2, 3 => object3, 4 => object4, 5 => object5)

那么,我怎样才能加入我的2个阵列?

4 个答案:

答案 0 :(得分:3)

您可以使用array_merge()来实现此目的。当你有不同的索引时使用+。

答案 1 :(得分:2)

array_merge();

  

如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个键。但是,如果数组包含数字键,则后面的值不会覆盖原始值,但会附加。

答案 2 :(得分:0)

试试这个:

function zip() {
    $args = func_get_args();
    $zipped = array();
    $n = count($args);
    for ($i=0; $i<$n; ++$i) {
        reset($args[$i]);
    }
    while ($n) {
        $tmp = array();
        for ($i=0; $i<$n; ++$i) {
            if (key($args[$i]) === null) {
                break 2;
            }
            $tmp[] = current($args[$i]);
            next($args[$i]);
        }
        $zipped[] = $tmp;
    }
    return $zipped;
}

$bothMonths = zip($firstMonth, $secondMonth);

print_r($bothMonths);

类似于ruby / python / haskell / ... zip函数,这就是你想要的

答案 3 :(得分:-2)

使用PHP的array_merge函数:

 $bothMonths = array_merge($firstMonth, $secondMonth);