Вставьте значение из одного массива в другой и сохраните их ключи - PullRequest
0 голосов
/ 14 октября 2011

У меня есть 2 массива:

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

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

Я просто хочу объединить эти массивы и сохранить их ключ ([1] => image1 также будет в [1] в новом массиве)

Любая идея, пожалуйста?Спасибо!

Ответы [ 2 ]

2 голосов
/ 14 октября 2011

Это должно сработать:)

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

Ключи и значения из array2 будут добавлены в конце.Если ваш массив просто числовой, вы можете привести его в правильный порядок с помощью array_sort().

1 голос
/ 14 октября 2011

Я думаю, что эта функция работает. Вы должны использовать только жесткие цифровые клавиши

$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;
}
...