Функция PHP для получения элемента разности из обоих массивов - PullRequest
1 голос
/ 23 августа 2009

Вот ситуации: У меня есть 2 массива, например:

$a=array('a','b','c','d');
$b=array('1','b','c','e');

Я хочу создать 2 массива с результатом:

$c=array('a','d');//only element appeared on $a
$d=array('1','e');//only element appeared on $b

У вас есть умное решение?

Ответы [ 3 ]

2 голосов
/ 23 августа 2009
$c = array_diff($a, $b);
$d = array_diff($b, $a);
0 голосов
/ 23 августа 2009

Попробуйте использовать функцию array_diff ():

array_diff(array1,array2,array3...)

например:

<?php
$a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
$a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
print_r(array_diff($a1,$a2));
?>

Выход:

Array ( [0] => Cat )

Источник: http://www.w3schools.com/PHP/func_array_diff.asp

0 голосов
/ 23 августа 2009

Извините, мой плохой. Оказалось, что в моем тесте был неправильный массив. Простой array_diff решил проблему: $c = array_diff($a, $b); $d = array_diff($b, $a);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...