簡體   English   中英

兩陣列合一

[英]Two arrays to one

我有兩個數組,我想要一個,我可以將數組2添加到數組1嗎?

$array1 = array("Germany" => 2, "Belgium"=> 3);
$array2 = array("France" => 4, "Italy"=> 5);

$final_array = {both arrays in one};

這可能嗎?

是的,使用array_merge函數,如下所示:

$final_array = array_merge($array1, $array2);
print_r($final_array);

當我運行上面的腳本時,它將輸出:

Array (
    [Germany] => 2
    [Belgium] => 3 
    [France] => 4
    [Italy] => 5
) 

在這里快速閱讀: http : //www.php.net/manual/de/function.array-merge.php

使用array_merge喜歡

$final_arr = array_merge($array1 , $array2);
print_r($final_arr);

有關更多信息,請參見此鏈接

我想提到的是,在重復鍵上,array_merge()從第二個數組返回值。 因此,如果您使用相同的鍵具有不同的值-您應該編寫自己的函數。 例如:

    <?php

$a = array('rund' => '2', 'group' => '3', 'kupon' => 'utre', 'tralala' => 'shtur_kupon');
$b = array('grund' => '2', 'group' => 'ww', 'soup' => '1', 'tralala' => 'fd');

function two_arrays_merge_all_values(array $a, array $b) {
    foreach ($b as $b_key => $b_value) {
        $a_last_index = count($a);
        $current_index = 1;
        foreach ($a as $a_key => $a_value) {
            if ($a_key === $b_key) {
                $unique = uniqid();
                $a[$b_key . '_' . $unique] = $b[$b_key];
                unset($b[$b_key]);
                break;
            }
            if ($current_index == $a_last_index) {
                $a[$b_key] = $b[$b_key];
                unset($b[$b_key]);
            }
            $current_index++;
        }
    }

    return $a;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM