Bug #10891: array_unique does not work properly anymore
| From: | kost at itc-ua dot com | Date: | Wed, 16 May 2001 07:28:28 +0000 |
| Subject: | Bug #10891: array_unique does not work properly anymore | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-55433@lists.php.net to get a copy of this message | ||
From: kost@itc-ua.com
Operating system: UNIX FreeBSD 4.1.1
PHP version: 4.0.5
PHP Bug Type: Arrays related
Bug description: array_unique does not work properly anymore
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 Bug report at: http://bugs.php.net/?id=10891&edit=1