ID: 10891
Updated by: jeroen
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Bogus
Bug Type: Arrays related
Operating System: UNIX FreeBSD 4.1.1
PHP Version: 4.0.5
New Comment:

Array_unique isn't supposed to handle multi-dimension strings, nor objects.

See also 10658

Previous Comments:
------------------------------------------------------------------------

[2001-05-16 03:28:28] [EMAIL PROTECTED]

I've installed php 4.0.5 and function "array_unique" does not work correctly anymore.
The following code works with 4.0.3pl1 as it's supposed to do:
<?
$arr[0][] = 1;
$arr[0][] = 2;
$arr[0][] = 3;

$arr[1][] = 1;
$arr[1][] = 2;
$arr[1][] = 3;

$arr[2][] = 1;
$arr[2][] = 2;
$arr[2][] = 5;

$arr = array_unique($arr);

while(list(,$n) = each($arr)) echo implode(',',$n)."<br>";

?>
Output is :
1,2,3
1,2,5

But with php 4.0.5 it refuses to work and returns : 1,2,3

I've looked through source code "ext/standard/array.c" and revealed some differences 
between 4.0.3 - 4.0.5:

> set_compare_func(SORT_STRING); - 4.0.5
> set_compare_func(SORT_REGULAR); - 4.0.3

Some others functions array_*  also use SORT_STRING comparing instead of SORT_REGULAR

Best regards,
Konstantin,
http://itc-ua.com


------------------------------------------------------------------------



Edit this bug report at http://bugs.php.net/?id=10891&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to