On Tue, 2010-04-13 at 23:01 -0600, Ashley M. Kirchner wrote: > I have the following scenario: > > > > $array1 = array("12", "34", "56", "78", "90"); > > $array2 = array("12", "23", "56", "78", "89"); > > > > $result = array_diff($array1, $array2); > > > > print_r($result); > > > > > > This returns: > > > > Array > > ( > > [1] => 34 > > [4] => 90 > > ) > > > > > > However what I really want is a two-way comparison. I want elements that > don't exist in either to be returned: > > > > 34 and 90 because they don't exist in $array2, AND 23 and 89 because they > don't exist in $array1. So, is that a two step process of first doing an > array_diff($array1, $array2) then reverse it by doing array_diff($array2, > $array1) and merge/unique the results? Any caveats with that? > > > > $array1 = array("12", "34", "56", "78", "90"); > > $array2 = array("12", "23", "56", "78", "89"); > > > > $diff1 = array_diff($array1, $array2); > > $diff2 = array_diff($array2, $array1); > > > > $result = array_unique(array_merge($diff1, $diff2)); > > > > print_r($result); > > > > > > -- A > I don't see any problems with doing it that way. This will only work as you intended if both arrays have the same number of elements I believe, otherwise you might end up with a situation where your final array has duplicates of the same number: $array1 = $array(1, 2, 3, 4, 5, 6); $array2 = $aray(1, 3, 2, 5); Thanks, Ash http://www.ashleysheridan.co.uk