Sort an associative array in php with multiple condition

Cluddyelalo

New Member
Consider following array\[code\] $details = array( array('lname'=>'A', 'fname'=>'P','membkey'=>700,'head'=>'y'), array('lname'=>'B', 'fname'=>'Q','membkey'=>540,'head'=>'n'), array('lname'=>'C', 'fname'=>'R','membkey'=>700,'head'=>'n'), array('lname'=>'D', 'fname'=>'S','membkey'=>540,'head'=>'y'), array('lname'=>'E', 'fname'=>'T','membkey'=>700,'head'=>'n') );\[/code\]Here I would like to sort with head and membkey. Top element of same membkey element should have 'head=y' and echoed as,\[code\] $details = array( array('lname'=>'A', 'fname'=>'P','membkey'=>700,'head'=>'y'), array('lname'=>'E', 'fname'=>'T','membkey'=>700,'head'=>'n'), array('lname'=>'C', 'fname'=>'R','membkey'=>700,'head'=>'n'), array('lname'=>'D', 'fname'=>'S','membkey'=>540,'head'=>'y'), array('lname'=>'B', 'fname'=>'Q','membkey'=>540,'head'=>'n') );\[/code\]I tried it as follows\[code\] function orderbymemberKey( $a, $b ){ if ( $a[membkey] == $b[membkey] ) return 0; return($a[membkey] < $b[membkey] )? -1 :1; } usort( $details, orderbymemberKey );and it successfully order by membkey.\[/code\]Any suggestions please.
 
Back
Top