note 107962 added to function.sort
| From: | Adrian at xdt dot co dot uk | Date: | Sat, 17 Mar 2012 14:12:22 +0000 |
| Subject: | note 107962 added to function.sort | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-186720@lists.php.net to get a copy of this message | ||
To holdoffhunger 02-Jan-2012:
Interesting approach you have there. How about this instead?
<?php
function longestfirst($str1, $str2) {
return strlen($str2) - strlen($str1);
}
function shortestFirst($str1, $str2) {
return strlen($str1) - strlen($str2);
}
$data = array("hello", "12", "php", "is",
"awesome", "1", "1234", "123");
uasort($data, 'longestFirst');
echo '<pre>';
print_r($data);
uasort($data, 'shortestFirst');
print_r($data);
echo '</pre>';
/* Gives you:
Array (
[4] => awesome
[0] => hello
[6] => 1234
[2] => php
[7] => 123
[3] => is
[1] => 12
[5] => 1
)
Array (
[5] => 1
[3] => is
[1] => 12
[7] => 123
[2] => php
[6] => 1234
[0] => hello
[4] => awesome
) */
?>
The order is undefined where the strings have the same length.
Hope that helps.
----
Server IP: 69.147.83.197
Probable Submitter: 86.26.192.10
----
Manual Page -- http://www.php.net/manual/en/function.sort.php
Edit -- https://master.php.net/note/edit/107962
Del: integrated -- https://master.php.net/note/delete/107962/integrated
Del: useless -- https://master.php.net/note/delete/107962/useless
Del: bad code -- https://master.php.net/note/delete/107962/bad+code
Del: spam -- https://master.php.net/note/delete/107962/spam
Del: non-english -- https://master.php.net/note/delete/107962/non-english
Del: in docs -- https://master.php.net/note/delete/107962/in+docs
Del: other reasons-- https://master.php.net/note/delete/107962
Reject -- https://master.php.net/note/reject/107962
Search -- https://master.php.net/manage/user-notes.php