note 92981 added to function.array-multisort
| From: | kexianbin at diyism dot com | Date: | Tue, 18 Aug 2009 07:41:30 +0000 |
| Subject: | note 92981 added to function.array-multisort | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-159587@lists.php.net to get a copy of this message | ||
Maybe, "my_array_multisort" is better than
"php_multisort" from php {dot} net [arrt] sebble.com
and "array_msort" from cagret at gmail dot com:
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
function my_array_multisort(&$data_table, $col_typ_dirs)
{foreach ($data_table as $v)
{foreach ($col_typ_dirs as $u)
{$tmp=explode(',', $u);
${"col$tmp[0]"}[]=$v[$tmp[0]];
}
}
$par_arr='';
foreach ($col_typ_dirs as $v)
{$par_arr=$par_arr.'$col'.$v.',';
}
eval('array_multisort('.$par_arr.'$data_table);');
}
my_array_multisort($data,
array('volume,SORT_REGULAR,SORT_DESC',
'edition,SORT_REGULAR,SORT_ASC')
);
var_export($data);
----
Server IP: 208.69.120.35
Probable Submitter: 64.70.54.16
----
Manual Page -- http://www.php.net/manual/en/function.array-multisort.php
Edit -- https://master.php.net/note/edit/92981
Del: integrated -- https://master.php.net/note/delete/92981/integrated
Del: useless -- https://master.php.net/note/delete/92981/useless
Del: bad code -- https://master.php.net/note/delete/92981/bad+code
Del: spam -- https://master.php.net/note/delete/92981/spam
Del: non-english -- https://master.php.net/note/delete/92981/non-english
Del: in docs -- https://master.php.net/note/delete/92981/in+docs
Del: other reasons-- https://master.php.net/note/delete/92981
Reject -- https://master.php.net/note/reject/92981
Search -- https://master.php.net/manage/user-notes.php