将值从一个数组插入另一个数组并保留其键

时间:2011-10-14 01:01:41

标签: php arrays merge key

我有2个阵列:

Array
(
    [1] => image1
    [4] => image2
)

Array
(
    [0] => title 1
    [2] => title 2
    [3] => title 3
)

我只想合并这些数组并保持其键([1] => image1也将在新数组中的[1]

请问好吗?谢谢!

2 个答案:

答案 0 :(得分:2)

这应该有效:)

foreach ($array2 as $key => $value)
{
    $array1[$key] = $value;
}

钥匙和钥匙array2中的值将在末尾附加。如果您的数组只是数字,则可以使用array_sort()将其带到正确的顺序。

答案 1 :(得分:1)

我认为这个功能有效。你必须只使用数字键

$array1;
$array2;

array_weird_merge($array1, $array2){
    $result = array();

    //get the keys of each array
    $keys1 = array_keys($array1);
    $kesy2 = array_keys($array2);

    //get the max keys of the 2 arrays
    $max = max($key1, $key2);
    //we go trough all the possible values
    for ($i=0; $i<$max;$i++){
        //if the array 1 has an element in the
        //$i position, we put it in the result
        //if not, then we check in the second
        //array. (we give priority to the array
        //that comes first)
        if(isset($array1[$i])){
            $result[$i] = $array1[$i];
        }else if(isset($array2[$i])){
            $result[$i] = $array2[$i];
        }
    }
    return $result;
}