note 92981 deleted from function.array-multisort by danbrown

From: Date: Tue, 18 Aug 2009 17:22:10 +0000
Subject: note 92981 deleted from function.array-multisort by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-159606@lists.php.net to get a copy of this message
Note Submitter: kexianbin at diyism dot com ---- 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);

« previous php.notes (#159606) next »