php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #19259 sort-functions don't work
Submitted: 2002-09-05 18:44 UTC Modified: 2002-11-16 09:47 UTC
From: bug020905 at stormkeepers dot com Assigned:
Status: Closed Package: Arrays related
PHP Version: 4.3.0 RC1 OS: OSF1 V4.0
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: bug020905 at stormkeepers dot com
New email:
PHP Version: OS:

 

 [2002-09-05 18:44 UTC] bug020905 at stormkeepers dot com
usort() does not seem to be actually sorting the
array.  The user-defined sort function is being
called, but no matter what the function does, the
array remains in its original order.

The "Example 1" cut-and-pasted from the usort()
function documentation page:

   function cmp ($a, $b) {
       if ($a == $b) return 0;
       return ($a > $b) ? -1 : 1;
   }

   $a = array (3, 2, 5, 6, 1);

   usort ($a, "cmp");

   while (list ($key, $value) = each ($a)) {
       echo "$key: $value\n";
   }

Produces the following output:
   0: 3
   1: 2
   2: 5
   3: 6
   4: 1

(Should have returned the values in descending
order, as on the usort() documentation page.)

The other examples do not work on this platform,
either; they always leave the array unmodified.

Configuration line reported by phpinfo():
'./configure' '--with-apache=../apache_1.3.26' '--with-gd=/
usr/local' '--with-png-dir=/usr/local' '--with-jpeg-dir=/
usr/local' '--with-zlib-dir=/usr/local' '--with-xml' '--
with-dom=/usr/local' '--with-dom-xslt=/usr/local' '--with-
dom-exslt=/usr/local' '--with-mysql' '--with-mm' '--enable-
discard-path' '--prefix=/usr/local/apache-1.3.26' '--
enable-memory-limit=yes' '--enable-debug=no' '--enable-
safe-mode'

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-09-06 05:25 UTC] sniper@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php4-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-latest.zip
 [2002-09-06 05:30 UTC] nohn@php.net
Works fine with me with PHP 4.2.3RC2. Seems to be a duplicate of Bug #17449.
 [2002-09-06 05:32 UTC] sniper@php.net
Closed then. Get the 4.2.3 when it's released..today/tomorrow iirc..

 [2002-11-15 10:37 UTC] nohn@php.net
Broken again in 4.3.0RC1:


================================================================================
/usr/users/nohn/php-4.3.0RC1/ext/standard/tests/array/002.phpt
================================================================================

---- EXPECTED OUTPUT
-- Testing arsort() -- 
No second argument:
array(8) {
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
  [2147483647]=>
  string(4) "test"
  [-2147483648]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [0]=>
  string(3) "PHP"
  [16777216]=>
  float(-0.33333333333333)
}
Using SORT_REGULAR:
array(8) {
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
  [2147483647]=>
  string(4) "test"
  [-2147483648]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [0]=>
  string(3) "PHP"
  [16777216]=>
  float(-0.33333333333333)
}
Using SORT_NUMERIC:
array(8) {
  ["test"]=>
  int(27)
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [0]=>
  string(3) "PHP"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [-2147483648]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  [2147483647]=>
  string(4) "test"
  [16777216]=>
  float(-0.33333333333333)
}
Using SORT_STRING
array(8) {
  [2147483647]=>
  string(4) "test"
  [-2147483648]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [0]=>
  string(3) "PHP"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
  [16777216]=>
  float(-0.33333333333333)
}

 -- Testing asort() -- 
No second argument:
array(8) {
  [16777216]=>
  float(-0.33333333333333)
  [0]=>
  string(3) "PHP"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [-2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
  ["test"]=>
  int(27)
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}
Using SORT_REGULAR:
array(8) {
  [16777216]=>
  float(-0.33333333333333)
  [0]=>
  string(3) "PHP"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [-2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
  ["test"]=>
  int(27)
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}
Using SORT_NUMERIC:
array(8) {
  [16777216]=>
  float(-0.33333333333333)
  [-2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [0]=>
  string(3) "PHP"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
}
Using SORT_STRING
array(8) {
  [16777216]=>
  float(-0.33333333333333)
  ["test"]=>
  int(27)
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [0]=>
  string(3) "PHP"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [-2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
}

 -- Testing krsort() -- 
No second argument:
array(8) {
  [2147483647]=>
  string(4) "test"
  [16777216]=>
  float(-0.33333333333333)
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  ["test"]=>
  int(27)
  [0]=>
  string(3) "PHP"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [-2147483648]=>
  string(6) "monkey"
}
Using SORT_REGULAR:
array(8) {
  [2147483647]=>
  string(4) "test"
  [16777216]=>
  float(-0.33333333333333)
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  ["test"]=>
  int(27)
  [0]=>
  string(3) "PHP"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [-2147483648]=>
  string(6) "monkey"
}
Using SORT_NUMERIC:
array(8) {
  [2147483647]=>
  string(4) "test"
  [16777216]=>
  float(-0.33333333333333)
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  ["test"]=>
  int(27)
  [0]=>
  string(3) "PHP"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [-2147483648]=>
  string(6) "monkey"
}
Using SORT_STRING
array(8) {
  ["test"]=>
  int(27)
  [5]=>
  string(4) "Test"
  [2147483647]=>
  string(4) "test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [16777216]=>
  float(-0.33333333333333)
  [0]=>
  string(3) "PHP"
  [-2147483648]=>
  string(6) "monkey"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}

 -- Testing ksort() -- 
No second argument:
array(8) {
  [-2147483648]=>
  string(6) "monkey"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [0]=>
  string(3) "PHP"
  ["test"]=>
  int(27)
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [16777216]=>
  float(-0.33333333333333)
  [2147483647]=>
  string(4) "test"
}
Using SORT_REGULAR:
array(8) {
  [-2147483648]=>
  string(6) "monkey"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
  [0]=>
  string(3) "PHP"
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [16777216]=>
  float(-0.33333333333333)
  [2147483647]=>
  string(4) "test"
}
Using SORT_NUMERIC:
array(8) {
  [-2147483648]=>
  string(6) "monkey"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [0]=>
  string(3) "PHP"
  ["test"]=>
  int(27)
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [16777216]=>
  float(-0.33333333333333)
  [2147483647]=>
  string(4) "test"
}
Using SORT_STRING
array(8) {
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [-2147483648]=>
  string(6) "monkey"
  [0]=>
  string(3) "PHP"
  [16777216]=>
  float(-0.33333333333333)
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [2147483647]=>
  string(4) "test"
  [5]=>
  string(4) "Test"
  ["test"]=>
  int(27)
}

 -- Testing rsort() -- 
No second argument:
array(8) {
  [0]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [1]=>
  int(27)
  [2]=>
  string(4) "test"
  [3]=>
  string(6) "monkey"
  [4]=>
  string(4) "Test"
  [5]=>
  string(27) "PHP: Hypertext Preprocessor"
  [6]=>
  string(3) "PHP"
  [7]=>
  float(-0.33333333333333)
}
Using SORT_REGULAR:
array(8) {
  [0]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [1]=>
  int(27)
  [2]=>
  string(4) "test"
  [3]=>
  string(6) "monkey"
  [4]=>
  string(4) "Test"
  [5]=>
  string(27) "PHP: Hypertext Preprocessor"
  [6]=>
  string(3) "PHP"
  [7]=>
  float(-0.33333333333333)
}
Using SORT_NUMERIC:
array(8) {
  [0]=>
  int(27)
  [1]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [2]=>
  string(3) "PHP"
  [3]=>
  string(27) "PHP: Hypertext Preprocessor"
  [4]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  [6]=>
  string(4) "test"
  [7]=>
  float(-0.33333333333333)
}
Using SORT_STRING
array(8) {
  [0]=>
  string(4) "test"
  [1]=>
  string(6) "monkey"
  [2]=>
  string(4) "Test"
  [3]=>
  string(27) "PHP: Hypertext Preprocessor"
  [4]=>
  string(3) "PHP"
  [5]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [6]=>
  int(27)
  [7]=>
  float(-0.33333333333333)
}

 -- Testing sort() -- 
No second argument:
array(8) {
  [0]=>
  float(-0.33333333333333)
  [1]=>
  string(3) "PHP"
  [2]=>
  string(27) "PHP: Hypertext Preprocessor"
  [3]=>
  string(4) "Test"
  [4]=>
  string(6) "monkey"
  [5]=>
  string(4) "test"
  [6]=>
  int(27)
  [7]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}
Using SORT_REGULAR:
array(8) {
  [0]=>
  float(-0.33333333333333)
  [1]=>
  string(3) "PHP"
  [2]=>
  string(27) "PHP: Hypertext Preprocessor"
  [3]=>
  string(4) "Test"
  [4]=>
  string(6) "monkey"
  [5]=>
  string(4) "test"
  [6]=>
  int(27)
  [7]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}
Using SORT_NUMERIC:
array(8) {
  [0]=>
  float(-0.33333333333333)
  [1]=>
  string(6) "monkey"
  [2]=>
  string(4) "test"
  [3]=>
  string(4) "Test"
  [4]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(3) "PHP"
  [6]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [7]=>
  int(27)
}
Using SORT_STRING
array(8) {
  [0]=>
  float(-0.33333333333333)
  [1]=>
  int(27)
  [2]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [3]=>
  string(3) "PHP"
  [4]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [6]=>
  string(6) "monkey"
  [7]=>
  string(4) "test"
}
---- ACTUAL OUTPUT
-- Testing arsort() -- 
No second argument:
array(8) {
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
  [2147483647]=>
  string(4) "test"
  [2147483648]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [0]=>
  string(3) "PHP"
  [16777216]=>
  float(-0.33333333333333)
}
Using SORT_REGULAR:
array(8) {
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
  [2147483647]=>
  string(4) "test"
  [2147483648]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [0]=>
  string(3) "PHP"
  [16777216]=>
  float(-0.33333333333333)
}
Using SORT_NUMERIC:
array(8) {
  ["test"]=>
  int(27)
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [0]=>
  string(3) "PHP"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [2147483648]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  [2147483647]=>
  string(4) "test"
  [16777216]=>
  float(-0.33333333333333)
}
Using SORT_STRING
array(8) {
  [2147483647]=>
  string(4) "test"
  [2147483648]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [0]=>
  string(3) "PHP"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
  [16777216]=>
  float(-0.33333333333333)
}

 -- Testing asort() -- 
No second argument:
array(8) {
  [16777216]=>
  float(-0.33333333333333)
  [0]=>
  string(3) "PHP"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
  ["test"]=>
  int(27)
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}
Using SORT_REGULAR:
array(8) {
  [16777216]=>
  float(-0.33333333333333)
  [0]=>
  string(3) "PHP"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
  ["test"]=>
  int(27)
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}
Using SORT_NUMERIC:
array(8) {
  [16777216]=>
  float(-0.33333333333333)
  [2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [0]=>
  string(3) "PHP"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
}
Using SORT_STRING
array(8) {
  [16777216]=>
  float(-0.33333333333333)
  ["test"]=>
  int(27)
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [0]=>
  string(3) "PHP"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
}

 -- Testing krsort() -- 
No second argument:
array(8) {
  [2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
  [16777216]=>
  float(-0.33333333333333)
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  ["test"]=>
  int(27)
  [0]=>
  string(3) "PHP"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}
Using SORT_REGULAR:
array(8) {
  [2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
  [16777216]=>
  float(-0.33333333333333)
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [0]=>
  string(3) "PHP"
  ["test"]=>
  int(27)
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}
Using SORT_NUMERIC:
array(8) {
  [2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
  [16777216]=>
  float(-0.33333333333333)
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  ["test"]=>
  int(27)
  [0]=>
  string(3) "PHP"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}
Using SORT_STRING
array(8) {
  ["test"]=>
  int(27)
  [5]=>
  string(4) "Test"
  [2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [16777216]=>
  float(-0.33333333333333)
  [0]=>
  string(3) "PHP"
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}

 -- Testing ksort() -- 
No second argument:
array(8) {
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [0]=>
  string(3) "PHP"
  ["test"]=>
  int(27)
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [16777216]=>
  float(-0.33333333333333)
  [2147483647]=>
  string(4) "test"
  [2147483648]=>
  string(6) "monkey"
}
Using SORT_REGULAR:
array(8) {
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
  [0]=>
  string(3) "PHP"
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [16777216]=>
  float(-0.33333333333333)
  [2147483647]=>
  string(4) "test"
  [2147483648]=>
  string(6) "monkey"
}
Using SORT_NUMERIC:
array(8) {
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [0]=>
  string(3) "PHP"
  ["test"]=>
  int(27)
  [5]=>
  string(4) "Test"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [16777216]=>
  float(-0.33333333333333)
  [2147483647]=>
  string(4) "test"
  [2147483648]=>
  string(6) "monkey"
}
Using SORT_STRING
array(8) {
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [0]=>
  string(3) "PHP"
  [16777216]=>
  float(-0.33333333333333)
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [2147483647]=>
  string(4) "test"
  [2147483648]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  ["test"]=>
  int(27)
}

 -- Testing rsort() -- 
No second argument:
array(8) {
  [0]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [1]=>
  int(27)
  [2]=>
  string(4) "test"
  [3]=>
  string(6) "monkey"
  [4]=>
  string(4) "Test"
  [5]=>
  string(27) "PHP: Hypertext Preprocessor"
  [6]=>
  string(3) "PHP"
  [7]=>
  float(-0.33333333333333)
}
Using SORT_REGULAR:
array(8) {
  [0]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [1]=>
  int(27)
  [2]=>
  string(4) "test"
  [3]=>
  string(6) "monkey"
  [4]=>
  string(4) "Test"
  [5]=>
  string(27) "PHP: Hypertext Preprocessor"
  [6]=>
  string(3) "PHP"
  [7]=>
  float(-0.33333333333333)
}
Using SORT_NUMERIC:
array(8) {
  [0]=>
  int(27)
  [1]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [2]=>
  string(3) "PHP"
  [3]=>
  string(27) "PHP: Hypertext Preprocessor"
  [4]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  [6]=>
  string(4) "test"
  [7]=>
  float(-0.33333333333333)
}
Using SORT_STRING
array(8) {
  [0]=>
  string(4) "test"
  [1]=>
  string(6) "monkey"
  [2]=>
  string(4) "Test"
  [3]=>
  string(27) "PHP: Hypertext Preprocessor"
  [4]=>
  string(3) "PHP"
  [5]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [6]=>
  int(27)
  [7]=>
  float(-0.33333333333333)
}

 -- Testing sort() -- 
No second argument:
array(8) {
  [0]=>
  float(-0.33333333333333)
  [1]=>
  string(3) "PHP"
  [2]=>
  string(27) "PHP: Hypertext Preprocessor"
  [3]=>
  string(4) "Test"
  [4]=>
  string(6) "monkey"
  [5]=>
  string(4) "test"
  [6]=>
  int(27)
  [7]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}
Using SORT_REGULAR:
array(8) {
  [0]=>
  float(-0.33333333333333)
  [1]=>
  string(3) "PHP"
  [2]=>
  string(27) "PHP: Hypertext Preprocessor"
  [3]=>
  string(4) "Test"
  [4]=>
  string(6) "monkey"
  [5]=>
  string(4) "test"
  [6]=>
  int(27)
  [7]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
}
Using SORT_NUMERIC:
array(8) {
  [0]=>
  float(-0.33333333333333)
  [1]=>
  string(6) "monkey"
  [2]=>
  string(4) "test"
  [3]=>
  string(4) "Test"
  [4]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(3) "PHP"
  [6]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [7]=>
  int(27)
}
Using SORT_STRING
array(8) {
  [0]=>
  float(-0.33333333333333)
  [1]=>
  int(27)
  [2]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [3]=>
  string(3) "PHP"
  [4]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [6]=>
  string(6) "monkey"
  [7]=>
  string(4) "test"
}
---- FAILED

================================================================================
015-   [-2147483648]=>
015+   [2147483648]=>
039-   [-2147483648]=>
039+   [2147483648]=>
065-   [-2147483648]=>
065+   [2147483648]=>
078-   [-2147483648]=>
078+   [2147483648]=>
110-   [-2147483648]=>
110+   [2147483648]=>
134-   [-2147483648]=>
134+   [2147483648]=>
152-   [-2147483648]=>
152+   [2147483648]=>
191-   [-2147483648]=>
191+   [2147483648]=>
200-   [2147483647]=>
200+   [2147483648]=>
201-   string(4) "test"
201+   string(6) "monkey"
202-   [16777216]=>
202+   [2147483647]=>
203-   float(-0.33333333333333)
203+   string(4) "test"
204-   [17]=>
204+   [16777216]=>
205-   string(27) "PHP: Hypertext Preprocessor"
205+   float(-0.33333333333333)
206-   [5]=>
206+   [17]=>
207-   string(4) "Test"
207+   string(27) "PHP: Hypertext Preprocessor"
208-   ["test"]=>
208+   [5]=>
209-   int(27)
209+   string(4) "Test"
210-   [0]=>
210+   ["test"]=>
211-   string(3) "PHP"
211+   int(27)
212-   ["-2147483647"]=>
212+   [0]=>
213-   array(2) {
213+   string(3) "PHP"
214-     [0]=>
214+   ["-2147483647"]=>
215-     string(6) "banana"
215+   array(2) {
216-     [1]=>
216+     [0]=>
217-     string(6) "orange"
217+     string(6) "banana"
218-   }
218+     [1]=>
219-   [-2147483648]=>
219+     string(6) "orange"
220-   string(6) "monkey"
220+   }
224-   [2147483647]=>
224+   [2147483648]=>
225-   string(4) "test"
225+   string(6) "monkey"
226-   [16777216]=>
226+   [2147483647]=>
227-   float(-0.33333333333333)
227+   string(4) "test"
228-   [17]=>
228+   [16777216]=>
229-   string(27) "PHP: Hypertext Preprocessor"
229+   float(-0.33333333333333)
230-   [5]=>
230+   [17]=>
231-   string(4) "Test"
231+   string(27) "PHP: Hypertext Preprocessor"
232-   ["test"]=>
232+   [5]=>
233-   int(27)
233+   string(4) "Test"
236-   ["-2147483647"]=>
236+   ["test"]=>
237-   array(2) {
237+   int(27)
238-     [0]=>
238+   ["-2147483647"]=>
239-     string(6) "banana"
239+   array(2) {
240-     [1]=>
240+     [0]=>
241-     string(6) "orange"
241+     string(6) "banana"
242-   }
242+     [1]=>
243-   [-2147483648]=>
243+     string(6) "orange"
244-   string(6) "monkey"
244+   }
248-   [2147483647]=>
248+   [2147483648]=>
249-   string(4) "test"
249+   string(6) "monkey"
250-   [16777216]=>
250+   [2147483647]=>
251-   float(-0.33333333333333)
251+   string(4) "test"
252-   [17]=>
252+   [16777216]=>
253-   string(27) "PHP: Hypertext Preprocessor"
253+   float(-0.33333333333333)
254-   [5]=>
254+   [17]=>
255-   string(4) "Test"
255+   string(27) "PHP: Hypertext Preprocessor"
256-   ["test"]=>
256+   [5]=>
257-   int(27)
257+   string(4) "Test"
258-   [0]=>
258+   ["test"]=>
259-   string(3) "PHP"
259+   int(27)
260-   ["-2147483647"]=>
260+   [0]=>
261-   array(2) {
261+   string(3) "PHP"
262-     [0]=>
262+   ["-2147483647"]=>
263-     string(6) "banana"
263+   array(2) {
264-     [1]=>
264+     [0]=>
265-     string(6) "orange"
265+     string(6) "banana"
266-   }
266+     [1]=>
267-   [-2147483648]=>
267+     string(6) "orange"
268-   string(6) "monkey"
268+   }
276-   [2147483647]=>
276+   [2147483648]=>
277-   string(4) "test"
277+   string(6) "monkey"
278-   [17]=>
278+   [2147483647]=>
279-   string(27) "PHP: Hypertext Preprocessor"
279+   string(4) "test"
280-   [16777216]=>
280+   [17]=>
281-   float(-0.33333333333333)
281+   string(27) "PHP: Hypertext Preprocessor"
282-   [0]=>
282+   [16777216]=>
283-   string(3) "PHP"
283+   float(-0.33333333333333)
284-   [-2147483648]=>
284+   [0]=>
285-   string(6) "monkey"
285+   string(3) "PHP"
298-   [-2147483648]=>
298+   ["-2147483647"]=>
299-   string(6) "monkey"
299+   array(2) {
300-   ["-2147483647"]=>
300+     [0]=>
301-   array(2) {
301+     string(6) "banana"
302-     [0]=>
302+     [1]=>
303-     string(6) "banana"
303+     string(6) "orange"
304-     [1]=>
304+   }
305-     string(6) "orange"
305+   [0]=>
306-   }
306+   string(3) "PHP"
307-   [0]=>
307+   ["test"]=>
308-   string(3) "PHP"
308+   int(27)
309-   ["test"]=>
309+   [5]=>
310-   int(27)
310+   string(4) "Test"
311-   [5]=>
311+   [17]=>
312-   string(4) "Test"
312+   string(27) "PHP: Hypertext Preprocessor"
313-   [17]=>
313+   [16777216]=>
314-   string(27) "PHP: Hypertext Preprocessor"
314+   float(-0.33333333333333)
315-   [16777216]=>
315+   [2147483647]=>
316-   float(-0.33333333333333)
316+   string(4) "test"
317-   [2147483647]=>
317+   [2147483648]=>
318-   string(4) "test"
318+   string(6) "monkey"
322-   [-2147483648]=>
322+   ["-2147483647"]=>
323-   string(6) "monkey"
323+   array(2) {
324-   ["-2147483647"]=>
324+     [0]=>
325-   array(2) {
325+     string(6) "banana"
326-     [0]=>
326+     [1]=>
327-     string(6) "banana"
327+     string(6) "orange"
328-     [1]=>
328+   }
329-     string(6) "orange"
329+   ["test"]=>
330-   }
330+   int(27)
331-   ["test"]=>
331+   [0]=>
332-   int(27)
332+   string(3) "PHP"
333-   [0]=>
333+   [5]=>
334-   string(3) "PHP"
334+   string(4) "Test"
335-   [5]=>
335+   [17]=>
336-   string(4) "Test"
336+   string(27) "PHP: Hypertext Preprocessor"
337-   [17]=>
337+   [16777216]=>
338-   string(27) "PHP: Hypertext Preprocessor"
338+   float(-0.33333333333333)
339-   [16777216]=>
339+   [2147483647]=>
340-   float(-0.33333333333333)
340+   string(4) "test"
341-   [2147483647]=>
341+   [2147483648]=>
342-   string(4) "test"
342+   string(6) "monkey"
346-   [-2147483648]=>
346+   ["-2147483647"]=>
347-   string(6) "monkey"
347+   array(2) {
348-   ["-2147483647"]=>
348+     [0]=>
349-   array(2) {
349+     string(6) "banana"
350-     [0]=>
350+     [1]=>
351-     string(6) "banana"
351+     string(6) "orange"
352-     [1]=>
352+   }
353-     string(6) "orange"
353+   [0]=>
354-   }
354+   string(3) "PHP"
355-   [0]=>
355+   ["test"]=>
356-   string(3) "PHP"
356+   int(27)
357-   ["test"]=>
357+   [5]=>
358-   int(27)
358+   string(4) "Test"
359-   [5]=>
359+   [17]=>
360-   string(4) "Test"
360+   string(27) "PHP: Hypertext Preprocessor"
361-   [17]=>
361+   [16777216]=>
362-   string(27) "PHP: Hypertext Preprocessor"
362+   float(-0.33333333333333)
363-   [16777216]=>
363+   [2147483647]=>
364-   float(-0.33333333333333)
364+   string(4) "test"
365-   [2147483647]=>
365+   [2147483648]=>
366-   string(4) "test"
366+   string(6) "monkey"
377-   [-2147483648]=>
377+   [0]=>
378-   string(6) "monkey"
378+   string(3) "PHP"
379-   [0]=>
379+   [16777216]=>
380-   string(3) "PHP"
380+   float(-0.33333333333333)
381-   [16777216]=>
381+   [17]=>
382-   float(-0.33333333333333)
382+   string(27) "PHP: Hypertext Preprocessor"
383-   [17]=>
383+   [2147483647]=>
384-   string(27) "PHP: Hypertext Preprocessor"
384+   string(4) "test"
385-   [2147483647]=>
385+   [2147483648]=>
386-   string(4) "test"
386+   string(6) "monkey"
================================================================================



================================================================================
/usr/users/nohn/php-4.3.0RC1/ext/standard/tests/array/003.phpt
================================================================================

---- EXPECTED OUTPUT
-- Testing uasort() -- 
array(8) {
  [16777216]=>
  float(-0.33333333333333)
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
  [0]=>
  string(3) "PHP"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [-2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
}

 -- Testing uksort() -- 
array(8) {
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [-2147483648]=>
  string(6) "monkey"
  [0]=>
  string(3) "PHP"
  [16777216]=>
  float(-0.33333333333333)
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [2147483647]=>
  string(4) "test"
  [5]=>
  string(4) "Test"
  ["test"]=>
  int(27)
}

 -- Testing usort() -- 
array(8) {
  [0]=>
  float(-0.33333333333333)
  [1]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [2]=>
  int(27)
  [3]=>
  string(3) "PHP"
  [4]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [6]=>
  string(6) "monkey"
  [7]=>
  string(4) "test"
}
---- ACTUAL OUTPUT
-- Testing uasort() -- 
array(8) {
  [16777216]=>
  float(-0.33333333333333)
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  ["test"]=>
  int(27)
  [0]=>
  string(3) "PHP"
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [2147483648]=>
  string(6) "monkey"
  [2147483647]=>
  string(4) "test"
}

 -- Testing uksort() -- 
array(8) {
  ["-2147483647"]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [0]=>
  string(3) "PHP"
  [16777216]=>
  float(-0.33333333333333)
  [17]=>
  string(27) "PHP: Hypertext Preprocessor"
  [2147483647]=>
  string(4) "test"
  [2147483648]=>
  string(6) "monkey"
  [5]=>
  string(4) "Test"
  ["test"]=>
  int(27)
}

 -- Testing usort() -- 
array(8) {
  [0]=>
  float(-0.33333333333333)
  [1]=>
  array(2) {
    [0]=>
    string(6) "banana"
    [1]=>
    string(6) "orange"
  }
  [2]=>
  int(27)
  [3]=>
  string(3) "PHP"
  [4]=>
  string(27) "PHP: Hypertext Preprocessor"
  [5]=>
  string(4) "Test"
  [6]=>
  string(6) "monkey"
  [7]=>
  string(4) "test"
}
---- FAILED

================================================================================
020-   [-2147483648]=>
020+   [2147483648]=>
035-   [-2147483648]=>
035+   [0]=>
036-   string(6) "monkey"
036+   string(3) "PHP"
037-   [0]=>
037+   [16777216]=>
038-   string(3) "PHP"
038+   float(-0.33333333333333)
039-   [16777216]=>
039+   [17]=>
040-   float(-0.33333333333333)
040+   string(27) "PHP: Hypertext Preprocessor"
041-   [17]=>
041+   [2147483647]=>
042-   string(27) "PHP: Hypertext Preprocessor"
042+   string(4) "test"
043-   [2147483647]=>
043+   [2147483648]=>
044-   string(4) "test"
044+   string(6) "monkey"
================================================================================
 [2002-11-16 09:47 UTC] nohn@php.net
Closed. The testcases were wrong, not the function itself.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sat Jul 12 05:01:33 2025 UTC