Jump to content

Easy Array Sorting


johnsmith153

Recommended Posts

I have:

$array=array();
$array[jim]="100";
$array[dave]="100";
$array[rob]="300";

 

I want to sort by the array value, then if there is a match, the array key

 

So this would be returned:

dave, 100

jim,100

rob, 300

 

I can sort by one or the other, but not both.

 

I have tried:

ksort($array);
array_multisort($array,SORT_NUMERIC);

but, it doesn't work

Link to comment
https://forums.phpfreaks.com/topic/136575-easy-array-sorting/
Share on other sites

Hmm...tbh I think you should rethink your script structure in the first place, but whatever.  My take:

 

asort($array);
foreach($array as $name => $num) {
   $count[$num]++;
}
foreach ($count as $c) {
   $t = array_splice($array,0,$c);
   ksort($t);
   $array = array_merge($array, $t);
}

Link to comment
https://forums.phpfreaks.com/topic/136575-easy-array-sorting/#findComment-713056
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.