程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP合並2個數字鍵數組的值的程序

PHP合並2個數字鍵數組的值的程序

編輯:關於PHP編程

       php中數組合並array_merge是最靠得住的函數了,下文我們在利用array_merge函數合並時主要是對於兩個數組的鍵值為數字進行處理。

      先要了解一個基礎知識點

      PHP中兩個數組合並可以使用+或者array_merge,但之間還是有區別的,而且這些區別如果了解不清楚項目中會要命的!

      主要區別是兩個或者多個數組中如果出現相同鍵名,鍵名分為字符串或者數字,需要注意

      1)鍵名為數字時,array_merge()後面的值將不會覆蓋原來的值,而是附加到後面,但+合並數組則會把最先出現的值作為最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉(不是覆蓋)

      2)鍵名為字符串時,array_merge()此時會覆蓋掉前面相同鍵名的值,但+仍然把最先出現的值作為最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉(不是覆蓋)。

    代碼如下  

    $a = array('a', 'b');
    $b = array('c', 'd');
    $c = $a + $b;
    var_dump($a);
    var_dump(array_merge($a, $b));

    //輸出:

    array
    0 => string 'a' (length=1)
    1 => string 'b' (length=1)

    array
    0 => string 'a' (length=1)
    1 => string 'b' (length=1)
    2 => string 'c' (length=1)
    3 => string 'd' (length=1)

    ++++++++++++++++++++++++++++++++++++++++++

    $a = array(
    0 => 'a',
    1 => 'b'
    );
    $b = array(
    0 => 'c',
    1 => 'b'
    );
    $c = $a + $b;
    var_dump($c);
    var_dump(array_merge($a, $b));

    //輸出:

    array
    0 => string 'a' (length=1)
    1 => string 'b' (length=1)

    array
    0 => string 'a' (length=1)
    1 => string 'b' (length=1)
    2 => string 'c' (length=1)
    3 => string 'b' (length=1)

    ++++++++++++++++++++++++++++++++++++++++++

    $a = array('a', 'b');
    $b = array(
    '0' => 'c',
    1 => 'b'
    );
    $c = $a + $b;
    var_dump($c);
    var_dump(array_merge($a, $b));

    //輸出:
    array
    0 => string 'a' (length=1)
    1 => string 'b' (length=1)

    array
    0 => string 'a' (length=1)
    1 => string 'b' (length=1)
    2 => string 'c' (length=1)
    3 => string 'b' (length=1)

    ++++++++++++++++++++++++++++++++++++++++++

    $a = array(
    0 => 'a',
    1 => 'b'
    );
    $b = array(
    '0' => 'c',
    '1' => 'b'
    );
    $c = $a + $b;
    var_dump($c);
    var_dump(array_merge($a, $b));

    輸出:

    array
    0 => string 'a' (length=1)
    1 => string 'b' (length=1)

    array
    0 => string 'a' (length=1)
    1 => string 'b' (length=1)
    2 => string 'c' (length=1)
    3 => string 'b' (length=1)

      好了講到這麼多了我們來看看下合並2個數字鍵數組的值

    代碼如下  

    <?php
    /**
    * PHP合並2個數字鍵數組的值
    *
    * @param array $arr1
    * @param array $arr2
    * @return array
    * @author www.111cn.net
    */
    function new_array_merge($arr1, $arr2)
    {
    $arr = array_flip($arr1) + array_flip($arr2);
    return array_keys($arr);
    }

    $arr1 = array('aa', 'bb', 'cc');
    $arr2 = array('aa2', 'bb', 'cc2');

    $arr = new_array_merge($arr1, $arr2);
    print_r($arr);

    輸出:

    Array
    (
    [0] => aa
    [1] => bb
    [2] => cc
    [3] => aa2
    [4] => cc2
    )

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved