[nycphp-talk] what's up with array_diff()

David Krings ramons at
Wed Sep 19 18:47:18 EDT 2007

David Mintz wrote:
> Now I am looking at
>        if (array_diff($one,$two) or array_diff($two,$one)) {
>            /* do something */
>        }
> but I wonder if anyone can suggest a better way.

I can only think of a worse way by looping through one array and seeing 
if the key/value pair exists in the other one. That might be OK for 
small arrays, but my assumption is that array_diff is way more 
optimized. I just wonder how if() will evaluate an array. Also, when the 
arrays are identical the return value is an empty array. Again, I am not 
sure if if() evaluates and empty array differently than an array with 
stuff in it. Also, comments on indicate that when one array in 
fact is not array the return value of array_diff is NULL.
So, you probably need to run array_diff and then check the count of the 
resulting array. If it is anything else other than 0 the arrays are 
different. In theory, haven't tried that out.

Good luck!

David K.

More information about the talk mailing list