note 124046 deleted from array.sorting by cmb
| From: | cmb@php.net | Date: | Sun, 05 Jan 2020 08:52:40 +0000 |
| Subject: | note 124046 deleted from array.sorting by cmb | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-213786@lists.php.net to get a copy of this message | ||
Note Submitter: roger dot vermeir at nokia dot com
----
I tend to use the following code for adding a sort on the keys when different values have the same
key:
<?php
$arr = array();
$res = $db->query("some sql");
while ($row = $res->fetchRow()) {
$key = trim($row[0]); // I know... 'colname' is better
$value = trim($row[1]);
$arr[$key] = $value . "_" . sprintf('%09d', $key); // number
}
arsort($arr);
foreach ($arr as $key=>$value_and_key) {
list($value, $dummykey) = explode("_", $value_and_key);
echo "$key and $value"; // reverse sorted by value, then key
}
?>
Appending the key to the value makes arsort a kind of dual sort.
No need for extra user-defined functions...
Roger Vermeir