note 43176 added to function.array-multisort
| From: | coviedo at intellisoft dot cl | Date: | Fri, 11 Jun 2004 23:25:03 +0000 |
| Subject: | note 43176 added to function.array-multisort | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-70951@lists.php.net to get a copy of this message | ||
All functions described here work for arrays like:
column1[data1a,data1b]
column2[data2a,data2b]
If you have an array by rows, like
row1[data1a,data2a]
row2[data1b,data2b]
This function may help you
function multisort(&$array, $sortby, $order='ASC') {
$order_s = SORT_DESC;
if ($order == 'ASC') {
$order_s = SORT_ASC;
}
if (!isset($array -> $sortby))
return;
asort($array->$sortby, $order_s);
$sorting = array();
foreach ($array -> $sortby as $key => $val) {
$sorting[] = $key;
}
foreach ($array as $key => $val) {
//sort key
$valaux = array();
for($i=0; $i<count($sorting); $i++) {
$valaux[] = $val[$sorting[$i]];
}
$array->$key = $valaux;
}
}
----
Manual Page -- http://www.php.net/manual/en/function.array-multisort.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+43176
Delete -- http://master.php.net/manage/user-notes.php?action=delete+43176&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+43176&report=yes
Search -- http://master.php.net/manage/user-notes.php