Bug #10891: array_unique does not work properly anymore

From: 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

« previous php.dev (#55433) next »