note 75991 added to function.asort

From: Date: Tue, 26 Jun 2007 02:18:50 +0000
Subject: note 75991 added to function.asort
Groups: php.notes 
Request: Send a blank email to php-notes+get-127970@lists.php.net to get a copy of this message
I use this for quasi-SQL orderby. Loosely based on smileaf. Any good for you nerds? <? function named_records_sort($named_recs, $order_by, $rev=false, $flags=0) {// Create 1-dimensional named array with just // sortfield (in stead of record) values $named_hash = array(); foreach($named_recs as $key=>$fields) $named_hash["$key"] = $fields[$order_by]; // Order 1-dimensional array, // maintaining key-value relations if($reverse) arsort($named_hash,$flags=0) ; else asort($named_hash, $flags=0); // Create copy of named records array // in order of sortarray $sorted_records = array(); foreach($named_hash as $key=>$val) $sorted_records["$key"]= $named_recs[$key]; return $sorted_records;} // named_recs_sort() function show_sorted_records($named_recs, $order_by, $rev=false, $flags=0) {$sorted_records=named_records_sort($named_recs, $order_by, $rev, $flags); foreach($sorted_records as $name=>$fields) {echo "<b>$name</b> "; foreach($fields as $field=>$val) echo "$field = $val "; echo "<br>";} } // show_sorted_records() $girl_friends=array(); $girl_friends["Anna"]= array("born"=>'1989-08-22',"cupsize"=>'B-',"IQ"=>105, "daddy"=>'rich'); $girl_friends["Zoe"] =array("born"=>'1978-03-11',"cupsize"=>'C#',"IQ"=>130, "daddy"=>'poor'); $girl_friends["Lilly"] =array("born"=>'1985-06-16',"cupsize"=>'DD',"IQ"=>90, "daddy"=>'nasty'); $order_by="cupsize"; echo "And the winners are: <br>"; show_sorted_records($girl_friends, $order_by, true); ?> ---- Server IP: 69.147.83.197 Probable Submitter: 89.98.139.62 ---- Manual Page -- http://www.php.net/manual/en/function.asort.php Edit -- https://master.php.net/note/edit/75991 Del: integrated -- https://master.php.net/note/delete/75991/integrated Del: useless -- https://master.php.net/note/delete/75991/useless Del: bad code -- https://master.php.net/note/delete/75991/bad+code Del: spam -- https://master.php.net/note/delete/75991/spam Del: non-english -- https://master.php.net/note/delete/75991/non-english Del: in docs -- https://master.php.net/note/delete/75991/in+docs Del: other reasons-- https://master.php.net/note/delete/75991 Reject -- https://master.php.net/note/reject/75991 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#127970) next »