PHP 4.0 Bug #9645 Updated: usort, uasort, uksort fail every other time

From: Date: Sat, 28 Apr 2001 21:17:11 +0000
Subject: PHP 4.0 Bug #9645 Updated: usort, uasort, uksort fail every other time
Groups: php.dev 
Request: Send a blank email to php-dev+get-52800@lists.php.net to get a copy of this message
ID: 9645 User Update by: busterb@mail.utexas.edu Status: Closed Bug Type: Arrays related Description: usort, uasort, uksort fail every other time I tried to produce a small, self-contained example of the problem with uasort, but I had already moved my code away from these routines in favor of an external sort. Sadly, I couldn't reproduce the problem in a smaller context, so it must have just been a bug in my code. If anything, the cmp function is probably wrong, since it returns 0 for the < case. Previous Comments: --------------------------------------------------------------------------- [2001-04-28 15:38:08] derick@php.net No feedback. If this problem persists with PHP 4.0.5 which will be released next week, please reopen this report. Derick --------------------------------------------------------------------------- [2001-03-29 06:12:06] stas@php.net Could you please provide short self-contained script demonstrating the problem (including data sample)? --------------------------------------------------------------------------- [2001-03-09 01:40:12] busterb@mail.utexas.edu usort, uasort and uksort all fail to sort an array properly every other time they are called, unless the array is reset() after each call. This is a snippet from a class that fails every other time it is called. var $sort_field; function cmp ($a, $b) { return ($a[$this -> sort_field] > $b[$this -> sort_field]); } function sort_records ($sort_field) { $this -> sort_field = $sort_field; uasort ($this -> record_data, array($this, "cmp")); } --------------------------------------------------------------------------- Full Bug description available at: http://bugs.php.net/?id=9645

« previous php.dev (#52800) next »