array_diff not returning what's expected
arrays, php
Solution
`array_diff` works by finding the elements in the first array that aren't in the second, per the documentation. Try inverting your call:
$diff = array_diff($arrayB, $arrayA);
To see this in action, lets look at a more manageable but equivalent example:
$arrayA = array(1960);
$arrayB = array(1949,1960);
$diff = array_diff($arrayB, $arrayA);
var_dump($diff);
This yields:
[mylogin@aserver ~]$ vim test.php
[mylogin@aserver ~]$ php test.php
array(1) {
[0]=>
int(1949)
}
Please note that this uses a minimal demonstrative example of the functionality you're attempting to get. By discarding unnecessary data in your actual implementation you can more quickly zero in on the problem you're having.
Problem
I've read some tutorials on here but none of them return what I need. I have two arrays. ``` $arrayA = array(1960,1961,1963,1962,1954,1953,1957,1956,1955); $arrayB = array(1949,1960,1961,1963,1962,1954,1953,1957,1956,1955); ``` However, when I run array_diff, it returns an empty array. ``` $diff = array_diff($arrayA, $arrayB); ``` But I'd like it to return 1949. What's the error in my code? edit: since switching the variables won't work, i did var_dump for the 3 arrays (A, B, and diff) and here's the pastebin http://pastebin.com/tn1dvCs3