note 104649 added to function.usort
| From: | bcsj at osu1 dot php dot net | Date: | Tue, 28 Jun 2011 18:12:43 +0000 |
| Subject: | note 104649 added to function.usort | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-181014@lists.php.net to get a copy of this message | ||
Sorting a multidimensional array by a subkey seem to be one of the bigger challenges when using
usort. At least if one want the key to be dynamic. For anyone interested this code seemed to work
rather well for me:
<?php
usort($array,array(new cmp($key), "cmp__"));
class cmp {
var $key;
function __construct($key) {
$this->key = $key;
}
function cmp__($a,$b) {
$key = $this->key;
if ($a[$key] == $b[$key]) return 0;
return (($a[$key] > $b[$key]) ? 1 : -1);
}
}
?>
----
Server IP: 195.184.96.15
Probable Submitter: 2.105.83.122
----
Manual Page -- http://www.php.net/manual/en/function.usort.php
Edit -- https://master.php.net/note/edit/104649
Del: integrated -- https://master.php.net/note/delete/104649/integrated
Del: useless -- https://master.php.net/note/delete/104649/useless
Del: bad code -- https://master.php.net/note/delete/104649/bad+code
Del: spam -- https://master.php.net/note/delete/104649/spam
Del: non-english -- https://master.php.net/note/delete/104649/non-english
Del: in docs -- https://master.php.net/note/delete/104649/in+docs
Del: other reasons-- https://master.php.net/note/delete/104649
Reject -- https://master.php.net/note/reject/104649
Search -- https://master.php.net/manage/user-notes.php