note 43513 added to function.asort
| From: | rojaro at rn2 dot php dot net | Date: | Wed, 23 Jun 2004 23:38:34 +0000 |
| Subject: | note 43513 added to function.asort | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-71561@lists.php.net to get a copy of this message | ||
Advanced sort array by second index function, which produces ascending (default) or descending
output and uses optionally natural case insensitive sorting (which can be optionally case sensitive
as well).
Only the first two arguments are required.
<?php
function sabsi ($array, $index, $order='asc', $natsort=FALSE, $case_sensitive=FALSE) {
if(is_array($array) && count($array)>0) {
foreach(array_keys($array) as $key) $temp[$key]=$array[$key][$index];
if(!$natsort) ($order=='asc')? asort($temp) : arsort($temp);
else {
($case_sensitive)? natsort($temp) : natcasesort($temp);
if($order!='asc') $temp=array_reverse($temp,TRUE);
}
foreach(array_keys($temp) as $key) (is_numeric($key))? $sorted[]=$array[$key] :
$sorted[$key]=$array[$key];
return $sorted;
}
return $array;
}
?>
----
Manual Page -- http://www.php.net/manual/en/function.asort.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+43513
Delete -- http://master.php.net/manage/user-notes.php?action=delete+43513&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+43513&report=yes
Search -- http://master.php.net/manage/user-notes.php