2016-02-03 5 views
0
$A = array(1,2,3,4,5,6,7,8); 
$B = array(4,5,9,10); 

Ожидая выход:PHP удалить общие элементы между двумя массивами

$C = array(1,2,3,6,7,8,9,10); 

Хочет удалить общие элементы между массивами.

+1

Читайте о [ 'array_diff()'] (http://php.net/manual/en/function.array-diff .php) и ['array_merge()'] (http://php.net/manual/en/function.array-merge.php). – axiac

+1

Рассмотрите возможность чтения PHP-документов .... '$ C = array_merge (array_diff ($ A, $ B), array_diff ($ B, $ A));' –

+0

Или '$ C = array_diff (array_merge ($ A, $ B), array_intersect ($ A, $ B)); ' – axiac

ответ

1

Сначала вы получите один массив, содержащий все элементы, а затем тот, который содержит пересекающиеся элементы. затем удалить пересекающая из всех

$A = array(1,2,3,4,5,6,7,8); 
$B = array(4,5,9,10); 
$combined = array_merge($A,$B); 
$intersect =array_intersect($A, $B); 
var_dump(array_diff($combined, $intersect)); 

давая вам

array(8) { 
    [0]=> 
    int(1) 
    [1]=> 
    int(2) 
    [2]=> 
    int(3) 
    [5]=> 
    int(6) 
    [6]=> 
    int(7) 
    [7]=> 
    int(8) 
    [10]=> 
    int(9) 
    [11]=> 
    int(10) 
} 
Смежные вопросы