#33854 [Bgs]: array_diff depending on element sequence

2005-07-25 Thread bob dot siefkes at packardbell dot com
 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

2005-07-25 Thread bob dot siefkes at packardbell dot com
 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

2005-07-25 Thread bob dot siefkes at packardbell dot com
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