ID: 14805 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Open Bug Type: Arrays related Old Operating System: MS Windows 98 Operating System: MS Windows 98 PWS 4.0 Old PHP Version: 4.0.6 PHP Version: 4.1.1 New Comment:
I tested the examples with PHP 4.1.1 on Apache 1.3.9 under debian stable. array_unique() does preserve the *first* key of every related value in this environment. Simone Cortesi <[EMAIL PROTECTED]> stated on phpdoc list: " On my PHP Version 4.0.6 on System Windows 95/98 4.10 " (as it reads with phpinfo), I get... what I got, but " On the same machine using Cygwin and PHP/4.0.8-dev " I get: the expected result (returning with the first keys). Previous Comments: ------------------------------------------------------------------------ [2002-01-02 13:20:30] [EMAIL PROTECTED] I forgot to mention that there may be something wrong with array_unique itself. There are three values of 3 considered equal in the example above: 2 => "3"(string), 4 => 3(int), 5 => "3" (string) [manual] " Two elements are considered equal if and only if (string) " $elem1 === (string) $elem2. In words: when the string " representation is the same." Why does array_unique use the index 4 in this case? (It's neither the first nor the latest key of value 3) ------------------------------------------------------------------------ [2002-01-02 12:48:29] [EMAIL PROTECTED] The manual (recent version from cvs) states that : " array_unique() will keep the first key encountered for every value, and ignore all following keys. " I've tested the two examples in this page and I've found this statement is not true. <?php $input = array (4,"4","3",4,3,"3"); $result = array_unique ($input); var_dump($result); ?> output: /* PHP 4.0.6 Win'98 PWS */ array(2) { [3]=> int(4) [4]=> int(3) } but the manual says it should print: array(2) { [0]=> int(4) [1]=> string(1) "3" } As you can recognize the latest keys are preserved for both value 4 and 3. ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=14805&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]