2011-11-02 47 views
0

不同陣列我有這個兩個陣列比較兩個陣列以及基於條件

$array1 = Array (
    [0] => 5 
    [1] => 25 
    [2] => 3 
    [3] => 9 
    [4] => 15 
    [5] => 8 
    [6] => 26 
    [7] => 1 
); 

$array2 = Array 
(
    [0] => 5 
    [1] => 25 
    [2] => 3 
    [3] => 9 
    [4] => 6 
    [5] => 26 
    [6] => 1 
    [7] => 53 
    [8] => 22 
) 

$array1保持舊值和$array2保持新的值。我想創建三個不同的陣列。

第一:第一陣列應取在$array1是可用的和$array2即刪除值不具備的價值, 這裏是我做過什麼來得到它。

$delete = array_diff($array, $array2); 
//Gives me following expected output 
Array 
(
    [4] => 15 
    [5] => 8 
) 

二:秒數組應取,這不是在$ array1中可用,但得到了增加在$數組2即新值,這些值預計在這種情況下 輸出。

Array (
    [0] => 6 
    [0] => 53 
    [0] => 22 
) 

第三:第三陣列應取的共同價值,數組值就是在$array1可用並且在$array2即 相同或共同的值仍然可用。在這種情況下的預期產出是。

Array (
    [0] => 5 
    [1] => 25 
    [2] => 3 
    [3] => 9 
    [4] => 26 
    [5] => 1 
) 

回答

3

這產生正確的輸出:

<?php 

$array1 = array(
    0 => 5, 
    1 => 25, 
    2 => 3, 
    3 => 9, 
    4 => 15, 
    5 => 8, 
    6 => 26, 
    7 => 1 
); 

$array2 = array(
    0 => 5, 
    1 => 25, 
    2 => 3, 
    3 => 9, 
    4 => 6, 
    5 => 26, 
    6 => 1, 
    7 => 53, 
    8 => 22 
); 

$deleted = array_diff($array1, $array2); 
var_dump($deleted); 

$insert = array_diff($array2, $array1); 
var_dump($insert); 

$same = array_intersect($array1, $array2); 
var_dump($same); 

http://codepad.org/JianpnYh