At 9:37 AM -0600 4/14/10, Ashley M. Kirchner wrote:
No because that only does a one-way comparison.  It only tells me what's
missing from $array2.  I need it from both arrays.  That's why I'm comparing
1 versus 2, then 2 versus 1, and then doing a merge/unique on the result.

-snip-
        $array1 = array(1, 2, 3, 4, 5, 6);
        $array2 = array(1, 3, 2, 8, 9);
        $diff1  = array_diff($array1, $array2);
        $diff2  = array_diff($array2, $array1);
        $result = array_unique(array_merge($diff1, $diff2));

        => (4, 5, 6, 8, 9)

This second $result is what I want.  So far I haven't noticed any problems
doing it this way ... yet.  I'm sure someone will tell me otherwise.

Ash

Ash:

Looks good to me. But note the indexes of the result.

You might want to:

$array1 = array(1, 2, 3, 4, 5, 6, 7, 7, 7, 7);
$array2 = array(1, 2, 3, 8, 9);
$diff1  = array_diff($array1, $array2);
$diff2  = array_diff($array2, $array1);

$diff1 = array_unique($diff1);
$diff2 = array_unique($diff2);
$result = array_merge($diff1, $diff2);

Cheers,

tedd

--
-------
http://sperling.com  http://ancientstones.com  http://earthstones.com

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to