#33854 [Bgs]: array_diff depending on element sequence
ID: 33854 User updated by: bob dot siefkes at packardbell dot com Reported By: bob dot siefkes at packardbell dot com Status: Bogus Bug Type: Arrays related Operating System: XP SP2 PHP Version: 5.0.4 New Comment: I'm aware of the assoc variant. Still I'm not convinced that array_diff behaves regular. The manual describes: array_diff() returns an array containing all the values of array1 that are not present in any of the other arguments. The value "c" exist in array1 and in array2. The result does also contain value "c". I would not expect to see "c" in the result. Previous Comments: [2005-07-25 22:32:44] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php if you want keys & position to be considered use the array_diff_assoc() function. ---------------- [2005-07-25 21:26:16] bob dot siefkes at packardbell dot com I did confuse the two result blocks... Expected result: <--> Actual result: -------------------- [2005-07-25 21:23:22] bob dot siefkes at packardbell dot com Description: Behavor of array_diff is dependent on the sequence of the elements in the array. See $array2 where I changed the sequence of "a"=>"c" with "a"=>"d" and it results in different output. Be noted that the key of both elements is the same, still I would not expect array_diff to take this into account. Bob Reproduce code: --- // source 1 $array1 = array("a" => "c", "b" => "b" ); $array2 = array("a" => "c", "a" => "d" ); $result = array_diff($array1, $array2); // source 2 $array1 = array("a" => "c", "b" => "b" ); $array2 = array("a" => "d", "a" => "c" ); $result = array_diff($array1, $array2); Expected result: // result1: Array ( [a] => c [b] => b ) // result2 Array ( [b] => b ) Actual result: -- // for both I would expect Array ( [b] => b ) -- Edit this bug report at http://bugs.php.net/?id=33854&edit=1
#33854 [Opn]: array_diff depending on element sequence
ID: 33854 User updated by: bob dot siefkes at packardbell dot com Reported By: bob dot siefkes at packardbell dot com Status: Open Bug Type: Output Control Operating System: XP SP2 PHP Version: 5.0.4 New Comment: I did confuse the two result blocks... Expected result: <--> Actual result: Previous Comments: [2005-07-25 21:23:22] bob dot siefkes at packardbell dot com Description: Behavor of array_diff is dependent on the sequence of the elements in the array. See $array2 where I changed the sequence of "a"=>"c" with "a"=>"d" and it results in different output. Be noted that the key of both elements is the same, still I would not expect array_diff to take this into account. Bob Reproduce code: --- // source 1 $array1 = array("a" => "c", "b" => "b" ); $array2 = array("a" => "c", "a" => "d" ); $result = array_diff($array1, $array2); // source 2 $array1 = array("a" => "c", "b" => "b" ); $array2 = array("a" => "d", "a" => "c" ); $result = array_diff($array1, $array2); Expected result: // result1: Array ( [a] => c [b] => b ) // result2 Array ( [b] => b ) Actual result: -- // for both I would expect Array ( [b] => b ) -- Edit this bug report at http://bugs.php.net/?id=33854&edit=1
#33854 [NEW]: array_diff depending on element sequence
From: bob dot siefkes at packardbell dot com Operating system: XP SP2 PHP version: 5.0.4 PHP Bug Type: Output Control Bug description: array_diff depending on element sequence Description: Behavor of array_diff is dependent on the sequence of the elements in the array. See $array2 where I changed the sequence of "a"=>"c" with "a"=>"d" and it results in different output. Be noted that the key of both elements is the same, still I would not expect array_diff to take this into account. Bob Reproduce code: --- // source 1 $array1 = array("a" => "c", "b" => "b" ); $array2 = array("a" => "c", "a" => "d" ); $result = array_diff($array1, $array2); // source 2 $array1 = array("a" => "c", "b" => "b" ); $array2 = array("a" => "d", "a" => "c" ); $result = array_diff($array1, $array2); Expected result: // result1: Array ( [a] => c [b] => b ) // result2 Array ( [b] => b ) Actual result: -- // for both I would expect Array ( [b] => b ) -- Edit bug report at http://bugs.php.net/?id=33854&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=33854&r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=33854&r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=33854&r=trysnapshot51 Fixed in CVS:http://bugs.php.net/fix.php?id=33854&r=fixedcvs Fixed in release:http://bugs.php.net/fix.php?id=33854&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=33854&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=33854&r=needscript Try newer version: http://bugs.php.net/fix.php?id=33854&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=33854&r=support Expected behavior: http://bugs.php.net/fix.php?id=33854&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=33854&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=33854&r=submittedtwice register_globals:http://bugs.php.net/fix.php?id=33854&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=33854&r=php3 Daylight Savings:http://bugs.php.net/fix.php?id=33854&r=dst IIS Stability: http://bugs.php.net/fix.php?id=33854&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=33854&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=33854&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=33854&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=33854&r=mysqlcfg