function cmpcountry($a, $b) { $country1 = $a['country']; $country2 = $b['country']; if($country1=='') return 1; else return ($country1 < $country2) ? -1 : 1; } -----Original Message----- From: weetat [mailto:weetat.yeo@xxxxxxxxx] Sent: Monday, July 31, 2006 12:32 PM To: php-general@xxxxxxxxxxxxx Subject: sorting in array Hi all , I have array value as shown below, i have paste my test php code below: I have problem when doing usort() when 'country' = '', i would like to display records where country = '' last. Any ideas how to do that ? Thanks $arraytest= array( array ( 'country' => '', ) , array ( 'country' => 'Thailand', ) , array ( 'country' => 'Singapore', ) , array ( 'country' => 'Singapore', ) , array ( 'country' => '', ) , array ( 'country' => '', ) , array ( 'country' => '', ) ); function cmpcountry($a, $b) { $country1 = $a['country']; $country2 = $b['country']; return ($country1 < $country2) ? -1 : 1; } usort($arraytest,"cmpcountry"); while(list($name,$value)=each($arraytest)){ echo $name."<br><br>"; while(list($n,$v) = each($arraytest[$name])){ echo $v."<br><br>"; } } -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php