#40616 [Bgs]: uasort implementation is not robust
| From: | phpbugs at jessemccarthy dot net | Date: | Mon, 26 Feb 2007 17:16:39 +0000 |
| Subject: | #40616 [Bgs]: uasort implementation is not robust | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-109581@lists.php.net to get a copy of this message | ||
ID: 40616
User updated by: phpbugs at jessemccarthy dot net
Reported By: phpbugs at jessemccarthy dot net
Status: Bogus
Bug Type: Arrays related
Operating System: Linux
PHP Version: 5.2.1
New Comment:
> Please double-check the documentation...
> Your expectations are wrong.
Sorry, that's a little too vague to be meaningful. I've read the
documentation. I just re-read it. It's counterintuitive, and not
documented, that uasort does not compare certain elements to each other
because it has compared each of them to a different element and jumped
to a conclusion based on that.
That's not quite what I expect from a function advertised as
implementing my "non-trivial" sort criteria.
Even if your position is that the behavior of the function is fine,
it's working as it's intended to, why would you not want to clearly
explain to users what it does -- and can't -- do? As far as I can
tell, based on the documentation, it is a bug because there is nothing
in the documentation that explains that behavior or prepares me for it.
If that's the intended behavior of the function, then the documentation
is inadequate.
Previous Comments:
------------------------------------------------------------------------
[2007-02-26 08:00:51] tony2001@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
Your expectations are wrong.
------------------------------------------------------------------------
[2007-02-24 01:08:30] phpbugs at jessemccarthy dot net
This software broke the line with the URL to the short reproduce code.
http://www.jessemccarthy.net/public/uasort_bug/s_reproduce_source.php
------------------------------------------------------------------------
[2007-02-24 01:03:54] phpbugs at jessemccarthy dot net
Well I apologize. Thanks for your feedback.
Short reproduce code:
http://www.jessemccarthy.net/public/uasort_bug/short_reproduce_source.php
Expected result:
array(3) {
["field_favorite_movies"]=>
array(1) {
["title"]=>
string(15) "Favorite movies"
}
["monkey_wrench"]=>
string(0) ""
["field_favorite_music"]=>
array(1) {
["title"]=>
string(14) "Favorite music"
}
}
Actual result:
array(3) {
["field_favorite_music"]=>
array(1) {
["title"]=>
string(14) "Favorite music"
}
["monkey_wrench"]=>
string(0) ""
["field_favorite_movies"]=>
array(1) {
["title"]=>
string(15) "Favorite movies"
}
}
I would think that an English description of expected / actual results
would be helpful rather than just raw output, but whatever works for
you. I also can't help but feel that the original reproduce code made
more sense, but this is the most minimal version I can create that
still demonstrates anything.
Thanks for your attention.
------------------------------------------------------------------------
[2007-02-23 23:36:10] tony2001@php.net
>The reproduce code is too long?
Yes, please remove everything not related to your problem.
>The descriptions of actual and expected output are not >sufficient?
Descriptions? No, descriptions are not enough, we need the results, not
their descriptions.
------------------------------------------------------------------------
[2007-02-23 23:30:33] phpbugs at jessemccarthy dot net
Thanks for your quick response. The reproduce code is too long? The
descriptions of actual and expected output are not sufficient?
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/40616
--
Edit this bug report at http://bugs.php.net/?id=40616&edit=1